AVM encoder and decoder — third-party notices

AVM upstream: https://gitlab.com/AOMediaCodec/avm
Retained AVM revision: 000682c868c9c265fe0bd5b552a8d10ec49ac9a4

These notices cover AVM and all 17 dependency groups appearing in the retained build compiler records, including conditional code and headers. Inclusion does not imply every component is used in every operation.

Eigen Source Code Form (MPL 2.0) is supplied in avm-eigen-source.tar.gz in the source companion accompanying this application release. It contains the retained Eigen headers, supporting source files, and licenses. You may use and modify that source under its included licenses. Retained sources are used because the build selected local directories; no unverified upstream version is asserted.

libyuv notices were recovered from the official version 1456 revision 7cd7f5a80fa7d63cdd0ca3b7e11447b8e6a1e7ec: https://chromium.googlesource.com/libyuv/libyuv/+/7cd7f5a80fa7d63cdd0ca3b7e11447b8e6a1e7ec/ . The compiled subset differs only in AOM copyright headers and one renamed-project comment. Both upstream and retained notices are preserved.

==============================================================================
AVM LICENSE
==============================================================================

BSD 3-Clause Clear License The Clear BSD License

Copyright (c) 2021, Alliance for Open Media

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution.

3. Neither the name of the Alliance for Open Media nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.


NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


==============================================================================
AVM PATENTS
==============================================================================

Alliance for Open Media Patent License 1.0

1. License Terms.

1.1. Patent License. Subject to the terms and conditions of this License, each
     Licensor, on behalf of itself and successors in interest and assigns,
     grants Licensee a non-sublicensable, perpetual, worldwide, non-exclusive,
     no-charge, royalty-free, irrevocable (except as expressly stated in this
     License) patent license to its Necessary Claims to make, use, sell, offer
     for sale, import or distribute any Implementation.

1.2. Conditions.

1.2.1. Availability. As a condition to the grant of rights to Licensee to make,
       sell, offer for sale, import or distribute an Implementation under
       Section 1.1, Licensee must make its Necessary Claims available under
       this License, and must reproduce this License with any Implementation
       as follows:

       a. For distribution in source code, by including this License in the
          root directory of the source code with its Implementation.

       b. For distribution in any other form (including binary, object form,
          and/or hardware description code (e.g., HDL, RTL, Gate Level Netlist,
          GDSII, etc.)), by including this License in the documentation, legal
          notices, and/or other written materials provided with the
          Implementation.

1.2.2. Additional Conditions. This license is directly from Licensor to
       Licensee.  Licensee acknowledges as a condition of benefiting from it
       that no rights from Licensor are received from suppliers, distributors,
       or otherwise in connection with this License.

1.3. Defensive Termination. If any Licensee, its Affiliates, or its agents
     initiates patent litigation or files, maintains, or voluntarily
     participates in a lawsuit against another entity or any person asserting
     that any Implementation infringes Necessary Claims, any patent licenses
     granted under this License directly to the Licensee are immediately
     terminated as of the date of the initiation of action unless 1) that suit
     was in response to a corresponding suit regarding an Implementation first
     brought against an initiating entity, or 2) that suit was brought to
     enforce the terms of this License (including intervention in a third-party
     action by a Licensee).

1.4. Disclaimers. The Reference Implementation and Specification are provided
     "AS IS" and without warranty. The entire risk as to implementing or
     otherwise using the Reference Implementation or Specification is assumed
     by the implementer and user. Licensor expressly disclaims any warranties
     (express, implied, or otherwise), including implied warranties of
     merchantability, non-infringement, fitness for a particular purpose, or
     title, related to the material. IN NO EVENT WILL LICENSOR BE LIABLE TO
     ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL,
     INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF
     ACTION OF ANY KIND WITH RESPECT TO THIS LICENSE, WHETHER BASED ON BREACH
     OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR
     NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

2. Definitions.

2.1. Affiliate.  "Affiliate" means an entity that directly or indirectly
     Controls, is Controlled by, or is under common Control of that party.

2.2. Control. "Control" means direct or indirect control of more than 50% of
     the voting power to elect directors of that corporation, or for any other
     entity, the power to direct management of such entity.

2.3. Decoder.  "Decoder" means any decoder that conforms fully with all
     non-optional portions of the Specification.

2.4. Encoder.  "Encoder" means any encoder that produces a bitstream that can
     be decoded by a Decoder only to the extent it produces such a bitstream.

2.5. Final Deliverable.  "Final Deliverable" means the final version of a
     deliverable approved by the Alliance for Open Media as a Final
     Deliverable.

2.6. Implementation.  "Implementation" means any implementation, including the
     Reference Implementation, that is an Encoder and/or a Decoder. An
     Implementation also includes components of an Implementation only to the
     extent they are used as part of an Implementation.

2.7. License. "License" means this license.

2.8. Licensee. "Licensee" means any person or entity who exercises patent
     rights granted under this License.

2.9. Licensor.  "Licensor" means (i) any Licensee that makes, sells, offers
     for sale, imports or distributes any Implementation, or (ii) a person
     or entity that has a licensing obligation to the Implementation as a
     result of its membership and/or participation in the Alliance for Open
     Media working group that developed the Specification.

2.10. Necessary Claims.  "Necessary Claims" means all claims of patents or
      patent applications, (a) that currently or at any time in the future,
      are owned or controlled by the Licensor, and (b) (i) would be an
      Essential Claim as defined by the W3C Policy as of February 5, 2004
      (https://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential)
      as if the Specification was a W3C Recommendation; or (ii) are infringed
      by the Reference Implementation.

2.11. Reference Implementation. "Reference Implementation" means an Encoder
      and/or Decoder released by the Alliance for Open Media as a Final
      Deliverable.

2.12. Specification. "Specification" means the specification designated by
      the Alliance for Open Media as a Final Deliverable for which this
      License was issued.



==============================================================================
FXdiv/LICENSE
==============================================================================

The MIT License (MIT)

Copyright (c) 2017 Facebook Inc.
Copyright (c) 2016-2017 Marat Dukhan

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


==============================================================================
XNNPACK/LICENSE
==============================================================================

BSD License

For XNNPACK software

Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.
Copyright 2019 Google LLC

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

 * Neither the name Facebook nor the names of its contributors may be used to
   endorse or promote products derived from this software without specific
   prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


==============================================================================
abseil-cpp/AUTHORS
==============================================================================

# This is the list of Abseil authors for copyright purposes.
#
# This does not necessarily list everyone who has contributed code, since in
# some cases, their employer may be the copyright holder.  To see the full list
# of contributors, see the revision history in source control.
Google Inc.


==============================================================================
abseil-cpp/LICENSE
==============================================================================


                                 Apache License
                           Version 2.0, January 2004
                        https://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       https://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.



==============================================================================
cpuinfo/LICENSE
==============================================================================

Copyright (c) 2019 Google LLC
Copyright (c) 2017-2018 Facebook Inc.
Copyright (C) 2012-2017 Georgia Institute of Technology
Copyright (C) 2010-2012 Marat Dukhan

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


==============================================================================
eigen/COPYING.APACHE
==============================================================================

/*
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
*/

==============================================================================
eigen/COPYING.BSD
==============================================================================

/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/


==============================================================================
eigen/COPYING.MINPACK
==============================================================================

Minpack Copyright Notice (1999) University of Chicago.  All rights reserved

Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the
following conditions are met:

1. Redistributions of source code must retain the above
copyright notice, this list of conditions and the following
disclaimer.

2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials
provided with the distribution.

3. The end-user documentation included with the
redistribution, if any, must include the following
acknowledgment:

   "This product includes software developed by the
   University of Chicago, as Operator of Argonne National
   Laboratory.

Alternately, this acknowledgment may appear in the software
itself, if and wherever such third-party acknowledgments
normally appear.

4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS"
WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE
OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF
THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4)
DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL
BE CORRECTED.

5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT
HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT,
INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF
ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF
PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER
SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT
(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
POSSIBILITY OF SUCH LOSS OR DAMAGES.


==============================================================================
eigen/COPYING.MPL2
==============================================================================

Mozilla Public License Version 2.0
==================================

1. Definitions
--------------

1.1. "Contributor"
    means each individual or legal entity that creates, contributes to
    the creation of, or owns Covered Software.

1.2. "Contributor Version"
    means the combination of the Contributions of others (if any) used
    by a Contributor and that particular Contributor's Contribution.

1.3. "Contribution"
    means Covered Software of a particular Contributor.

1.4. "Covered Software"
    means Source Code Form to which the initial Contributor has attached
    the notice in Exhibit A, the Executable Form of such Source Code
    Form, and Modifications of such Source Code Form, in each case
    including portions thereof.

1.5. "Incompatible With Secondary Licenses"
    means

    (a) that the initial Contributor has attached the notice described
        in Exhibit B to the Covered Software; or

    (b) that the Covered Software was made available under the terms of
        version 1.1 or earlier of the License, but not also under the
        terms of a Secondary License.

1.6. "Executable Form"
    means any form of the work other than Source Code Form.

1.7. "Larger Work"
    means a work that combines Covered Software with other material, in 
    a separate file or files, that is not Covered Software.

1.8. "License"
    means this document.

1.9. "Licensable"
    means having the right to grant, to the maximum extent possible,
    whether at the time of the initial grant or subsequently, any and
    all of the rights conveyed by this License.

1.10. "Modifications"
    means any of the following:

    (a) any file in Source Code Form that results from an addition to,
        deletion from, or modification of the contents of Covered
        Software; or

    (b) any new file in Source Code Form that contains any Covered
        Software.

1.11. "Patent Claims" of a Contributor
    means any patent claim(s), including without limitation, method,
    process, and apparatus claims, in any patent Licensable by such
    Contributor that would be infringed, but for the grant of the
    License, by the making, using, selling, offering for sale, having
    made, import, or transfer of either its Contributions or its
    Contributor Version.

1.12. "Secondary License"
    means either the GNU General Public License, Version 2.0, the GNU
    Lesser General Public License, Version 2.1, the GNU Affero General
    Public License, Version 3.0, or any later versions of those
    licenses.

1.13. "Source Code Form"
    means the form of the work preferred for making modifications.

1.14. "You" (or "Your")
    means an individual or a legal entity exercising rights under this
    License. For legal entities, "You" includes any entity that
    controls, is controlled by, or is under common control with You. For
    purposes of this definition, "control" means (a) the power, direct
    or indirect, to cause the direction or management of such entity,
    whether by contract or otherwise, or (b) ownership of more than
    fifty percent (50%) of the outstanding shares or beneficial
    ownership of such entity.

2. License Grants and Conditions
--------------------------------

2.1. Grants

Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:

(a) under intellectual property rights (other than patent or trademark)
    Licensable by such Contributor to use, reproduce, make available,
    modify, display, perform, distribute, and otherwise exploit its
    Contributions, either on an unmodified basis, with Modifications, or
    as part of a Larger Work; and

(b) under Patent Claims of such Contributor to make, use, sell, offer
    for sale, have made, import, and otherwise transfer either its
    Contributions or its Contributor Version.

2.2. Effective Date

The licenses granted in Section 2.1 with respect to any Contribution
become effective for each Contribution on the date the Contributor first
distributes such Contribution.

2.3. Limitations on Grant Scope

The licenses granted in this Section 2 are the only rights granted under
this License. No additional rights or licenses will be implied from the
distribution or licensing of Covered Software under this License.
Notwithstanding Section 2.1(b) above, no patent license is granted by a
Contributor:

(a) for any code that a Contributor has removed from Covered Software;
    or

(b) for infringements caused by: (i) Your and any other third party's
    modifications of Covered Software, or (ii) the combination of its
    Contributions with other software (except as part of its Contributor
    Version); or

(c) under Patent Claims infringed by Covered Software in the absence of
    its Contributions.

This License does not grant any rights in the trademarks, service marks,
or logos of any Contributor (except as may be necessary to comply with
the notice requirements in Section 3.4).

2.4. Subsequent Licenses

No Contributor makes additional grants as a result of Your choice to
distribute the Covered Software under a subsequent version of this
License (see Section 10.2) or under the terms of a Secondary License (if
permitted under the terms of Section 3.3).

2.5. Representation

Each Contributor represents that the Contributor believes its
Contributions are its original creation(s) or it has sufficient rights
to grant the rights to its Contributions conveyed by this License.

2.6. Fair Use

This License is not intended to limit any rights You have under
applicable copyright doctrines of fair use, fair dealing, or other
equivalents.

2.7. Conditions

Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
in Section 2.1.

3. Responsibilities
-------------------

3.1. Distribution of Source Form

All distribution of Covered Software in Source Code Form, including any
Modifications that You create or to which You contribute, must be under
the terms of this License. You must inform recipients that the Source
Code Form of the Covered Software is governed by the terms of this
License, and how they can obtain a copy of this License. You may not
attempt to alter or restrict the recipients' rights in the Source Code
Form.

3.2. Distribution of Executable Form

If You distribute Covered Software in Executable Form then:

(a) such Covered Software must also be made available in Source Code
    Form, as described in Section 3.1, and You must inform recipients of
    the Executable Form how they can obtain a copy of such Source Code
    Form by reasonable means in a timely manner, at a charge no more
    than the cost of distribution to the recipient; and

(b) You may distribute such Executable Form under the terms of this
    License, or sublicense it under different terms, provided that the
    license for the Executable Form does not attempt to limit or alter
    the recipients' rights in the Source Code Form under this License.

3.3. Distribution of a Larger Work

You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for
the Covered Software. If the Larger Work is a combination of Covered
Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this
License permits You to additionally distribute such Covered Software
under the terms of such Secondary License(s), so that the recipient of
the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary
License(s).

3.4. Notices

You may not remove or alter the substance of any license notices
(including copyright notices, patent notices, disclaimers of warranty,
or limitations of liability) contained within the Source Code Form of
the Covered Software, except that You may alter any license notices to
the extent required to remedy known factual inaccuracies.

3.5. Application of Additional Terms

You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on
behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by
You alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.

4. Inability to Comply Due to Statute or Regulation
---------------------------------------------------

If it is impossible for You to comply with any of the terms of this
License with respect to some or all of the Covered Software due to
statute, judicial order, or regulation then You must: (a) comply with
the terms of this License to the maximum extent possible; and (b)
describe the limitations and the code they affect. Such description must
be placed in a text file included with all distributions of the Covered
Software under this License. Except to the extent prohibited by statute
or regulation, such description must be sufficiently detailed for a
recipient of ordinary skill to be able to understand it.

5. Termination
--------------

5.1. The rights granted under this License will terminate automatically
if You fail to comply with any of its terms. However, if You become
compliant, then the rights granted under this License from a particular
Contributor are reinstated (a) provisionally, unless and until such
Contributor explicitly and finally terminates Your grants, and (b) on an
ongoing basis, if such Contributor fails to notify You of the
non-compliance by some reasonable means prior to 60 days after You have
come back into compliance. Moreover, Your grants from a particular
Contributor are reinstated on an ongoing basis if such Contributor
notifies You of the non-compliance by some reasonable means, this is the
first time You have received notice of non-compliance with this License
from such Contributor, and You become compliant prior to 30 days after
Your receipt of the notice.

5.2. If You initiate litigation against any entity by asserting a patent
infringement claim (excluding declaratory judgment actions,
counter-claims, and cross-claims) alleging that a Contributor Version
directly or indirectly infringes any patent, then the rights granted to
You by any and all Contributors for the Covered Software under Section
2.1 of this License shall terminate.

5.3. In the event of termination under Sections 5.1 or 5.2 above, all
end user license agreements (excluding distributors and resellers) which
have been validly granted by You or Your distributors under this License
prior to termination shall survive termination.

************************************************************************
*                                                                      *
*  6. Disclaimer of Warranty                                           *
*  -------------------------                                           *
*                                                                      *
*  Covered Software is provided under this License on an "as is"       *
*  basis, without warranty of any kind, either expressed, implied, or  *
*  statutory, including, without limitation, warranties that the       *
*  Covered Software is free of defects, merchantable, fit for a        *
*  particular purpose or non-infringing. The entire risk as to the     *
*  quality and performance of the Covered Software is with You.        *
*  Should any Covered Software prove defective in any respect, You     *
*  (not any Contributor) assume the cost of any necessary servicing,   *
*  repair, or correction. This disclaimer of warranty constitutes an   *
*  essential part of this License. No use of any Covered Software is   *
*  authorized under this License except under this disclaimer.         *
*                                                                      *
************************************************************************

************************************************************************
*                                                                      *
*  7. Limitation of Liability                                          *
*  --------------------------                                          *
*                                                                      *
*  Under no circumstances and under no legal theory, whether tort      *
*  (including negligence), contract, or otherwise, shall any           *
*  Contributor, or anyone who distributes Covered Software as          *
*  permitted above, be liable to You for any direct, indirect,         *
*  special, incidental, or consequential damages of any character      *
*  including, without limitation, damages for lost profits, loss of    *
*  goodwill, work stoppage, computer failure or malfunction, or any    *
*  and all other commercial damages or losses, even if such party      *
*  shall have been informed of the possibility of such damages. This   *
*  limitation of liability shall not apply to liability for death or   *
*  personal injury resulting from such party's negligence to the       *
*  extent applicable law prohibits such limitation. Some               *
*  jurisdictions do not allow the exclusion or limitation of           *
*  incidental or consequential damages, so this exclusion and          *
*  limitation may not apply to You.                                    *
*                                                                      *
************************************************************************

8. Litigation
-------------

Any litigation relating to this License may be brought only in the
courts of a jurisdiction where the defendant maintains its principal
place of business and such litigation shall be governed by laws of that
jurisdiction, without reference to its conflict-of-law provisions.
Nothing in this Section shall prevent a party's ability to bring
cross-claims or counter-claims.

9. Miscellaneous
----------------

This License represents the complete agreement concerning the subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. Any law or regulation which provides
that the language of a contract shall be construed against the drafter
shall not be used to construe this License against a Contributor.

10. Versions of the License
---------------------------

10.1. New Versions

Mozilla Foundation is the license steward. Except as provided in Section
10.3, no one other than the license steward has the right to modify or
publish new versions of this License. Each version will be given a
distinguishing version number.

10.2. Effect of New Versions

You may distribute the Covered Software under the terms of the version
of the License under which You originally received the Covered Software,
or under the terms of any subsequent version published by the license
steward.

10.3. Modified Versions

If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a
modified version of this License if you rename the license and remove
any references to the name of the license steward (except to note that
such modified license differs from this License).

10.4. Distributing Source Code Form that is Incompatible With Secondary
Licenses

If You choose to distribute Source Code Form that is Incompatible With
Secondary Licenses under the terms of this version of the License, the
notice described in Exhibit B of this License must be attached.

Exhibit A - Source Code Form License Notice
-------------------------------------------

  This Source Code Form is subject to the terms of the Mozilla Public
  License, v. 2.0. If a copy of the MPL was not distributed with this
  file, You can obtain one at https://mozilla.org/MPL/2.0/.

If it is not possible or desirable to put the notice in a particular
file, then You may include the notice in a location (such as a LICENSE
file in a relevant directory) where a recipient would be likely to look
for such a notice.

You may add additional accurate notices of copyright ownership.

Exhibit B - "Incompatible With Secondary Licenses" Notice
---------------------------------------------------------

  This Source Code Form is "Incompatible With Secondary Licenses", as
  defined by the Mozilla Public License, v. 2.0.


==============================================================================
eigen/COPYING.README
==============================================================================

Eigen is primarily MPL2 licensed. See COPYING.MPL2 and these links:
  http://www.mozilla.org/MPL/2.0/
  http://www.mozilla.org/MPL/2.0/FAQ.html

Some files contain third-party code under BSD or other MPL2-compatible licenses,
whence the other COPYING.* files here.

==============================================================================
farmhash/COPYING
==============================================================================

// Copyright (c) 2014 Google, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.


==============================================================================
fft2d/readme.txt
==============================================================================

General Purpose FFT (Fast Fourier/Cosine/Sine Transform) Package

Description:
    A package to calculate Discrete Fourier/Cosine/Sine Transforms of 
    1-dimensional sequences of length 2^N.

Files:
    fft4g.c    : FFT Package in C       - Fast Version   I   (radix 4,2)
    fft4g.f    : FFT Package in Fortran - Fast Version   I   (radix 4,2)
    fft4g_h.c  : FFT Package in C       - Simple Version I   (radix 4,2)
    fft8g.c    : FFT Package in C       - Fast Version   II  (radix 8,4,2)
    fft8g.f    : FFT Package in Fortran - Fast Version   II  (radix 8,4,2)
    fft8g_h.c  : FFT Package in C       - Simple Version II  (radix 8,4,2)
    fftsg.c    : FFT Package in C       - Fast Version   III (Split-Radix)
    fftsg.f    : FFT Package in Fortran - Fast Version   III (Split-Radix)
    fftsg_h.c  : FFT Package in C       - Simple Version III (Split-Radix)
    readme.txt : Readme File
    sample1/   : Test Directory
        Makefile    : for gcc, cc
        Makefile.f77: for Fortran
        testxg.c    : Test Program for "fft*g.c"
        testxg.f    : Test Program for "fft*g.f"
        testxg_h.c  : Test Program for "fft*g_h.c"
    sample2/   : Benchmark Directory
        Makefile    : for gcc, cc
        Makefile.pth: POSIX Thread version
        pi_fft.c    : PI(= 3.1415926535897932384626...) Calculation Program
                      for a Benchmark Test for "fft*g.c"

Difference of the Files:
    C and Fortran versions are equal and 
    the same routines are in each version.
    "fft4g*.*" are optimized for most machines.
    "fft8g*.*" are fast on the UltraSPARC.
    "fftsg*.*" are optimized for the machines that 
    have the multi-level (L1,L2,etc) cache.
    The simple versions "fft*g_h.c" use no work area, but 
    the fast versions "fft*g.*" use work areas.
    The fast versions "fft*g.*" have the same specification.

Routines in the Package:
    cdft: Complex Discrete Fourier Transform
    rdft: Real Discrete Fourier Transform
    ddct: Discrete Cosine Transform
    ddst: Discrete Sine Transform
    dfct: Cosine Transform of RDFT (Real Symmetric DFT)
    dfst: Sine Transform of RDFT (Real Anti-symmetric DFT)

Usage:
    Please refer to the comments in the "fft**.*" file which 
    you want to use. Brief explanations are in the block 
    comments of each package. The examples are also given in 
    the test programs.

Method:
    -------- cdft --------
    fft4g*.*, fft8g*.*:
        A method of in-place, radix 2^M, Sande-Tukey (decimation in 
        frequency). Index of the butterfly loop is in bit 
        reverse order to keep continuous memory access.
    fftsg*.*:
        A method of in-place, Split-Radix, recursive fast 
        algorithm.
    -------- rdft --------
    A method with a following butterfly operation appended to "cdft".
    In forward transform :
        A[k] = sum_j=0^n-1 a[j]*W(n)^(j*k), 0<=k<=n/2, 
            W(n) = exp(2*pi*i/n), 
    this routine makes an array x[] :
        x[j] = a[2*j] + i*a[2*j+1], 0<=j<n/2
    and calls "cdft" of length n/2 :
        X[k] = sum_j=0^n/2-1 x[j] * W(n/2)^(j*k), 0<=k<n.
    The result A[k] are :
        A[k]     = X[k]     - (1+i*W(n)^k)/2 * (X[k]-conjg(X[n/2-k])), 
        A[n/2-k] = X[n/2-k] + 
                        conjg((1+i*W(n)^k)/2 * (X[k]-conjg(X[n/2-k]))), 
            0<=k<=n/2
        (notes: conjg() is a complex conjugate, X[n/2]=X[0]).
    -------- ddct --------
    A method with a following butterfly operation appended to "rdft".
    In backward transform :
        C[k] = sum_j=0^n-1 a[j]*cos(pi*j*(k+1/2)/n), 0<=k<n, 
    this routine makes an array r[] :
        r[0] = a[0], 
        r[j]   = Re((a[j] - i*a[n-j]) * W(4*n)^j*(1+i)/2), 
        r[n-j] = Im((a[j] - i*a[n-j]) * W(4*n)^j*(1+i)/2), 
            0<j<=n/2
    and calls "rdft" of length n :
        A[k] = sum_j=0^n-1 r[j]*W(n)^(j*k), 0<=k<=n/2, 
            W(n) = exp(2*pi*i/n).
    The result C[k] are :
        C[2*k]   =  Re(A[k] * (1-i)), 
        C[2*k-1] = -Im(A[k] * (1-i)).
    -------- ddst --------
    A method with a following butterfly operation appended to "rdft".
    In backward transform :
        S[k] = sum_j=1^n A[j]*sin(pi*j*(k+1/2)/n), 0<=k<n, 
    this routine makes an array r[] :
        r[0] = a[0], 
        r[j]   = Im((a[n-j] - i*a[j]) * W(4*n)^j*(1+i)/2), 
        r[n-j] = Re((a[n-j] - i*a[j]) * W(4*n)^j*(1+i)/2), 
            0<j<=n/2
    and calls "rdft" of length n :
        A[k] = sum_j=0^n-1 r[j]*W(n)^(j*k), 0<=k<=n/2, 
            W(n) = exp(2*pi*i/n).
    The result S[k] are :
        S[2*k]   =  Re(A[k] * (1+i)), 
        S[2*k-1] = -Im(A[k] * (1+i)).
    -------- dfct --------
    A method to split into "dfct" and "ddct" of half length.
    The transform :
        C[k] = sum_j=0^n a[j]*cos(pi*j*k/n), 0<=k<=n
    is divided into :
        C[2*k]   = sum'_j=0^n/2  (a[j]+a[n-j])*cos(pi*j*k/(n/2)), 
        C[2*k+1] = sum_j=0^n/2-1 (a[j]-a[n-j])*cos(pi*j*(k+1/2)/(n/2))
        (sum' is a summation whose last term multiplies 1/2).
    This routine uses "ddct" recursively.
    To keep the in-place operation, the data in fft*g_h.*
    are sorted in bit reversal order.
    -------- dfst --------
    A method to split into "dfst" and "ddst" of half length.
    The transform :
        S[k] = sum_j=1^n-1 a[j]*sin(pi*j*k/n), 0<k<n
    is divided into :
        S[2*k]   = sum_j=1^n/2-1 (a[j]-a[n-j])*sin(pi*j*k/(n/2)), 
        S[2*k+1] = sum'_j=1^n/2  (a[j]+a[n-j])*sin(pi*j*(k+1/2)/(n/2))
        (sum' is a summation whose last term multiplies 1/2).
    This routine uses "ddst" recursively.
    To keep the in-place operation, the data in fft*g_h.*
    are sorted in bit reversal order.

Reference:
    * Masatake MORI, Makoto NATORI, Tatuo TORII: Suchikeisan, 
      Iwanamikouzajyouhoukagaku18, Iwanami, 1982 (Japanese)
    * Henri J. Nussbaumer: Fast Fourier Transform and Convolution 
      Algorithms, Springer Verlag, 1982
    * C. S. Burrus, Notes on the FFT (with large FFT paper list)
      http://www-dsp.rice.edu/research/fft/fftnote.asc

Copyright:
    Copyright(C) 1996-2001 Takuya OOURA
    email: ooura@mmm.t.u-tokyo.ac.jp
    download: http://momonga.t.u-tokyo.ac.jp/~ooura/fft.html
    You may use, copy, modify this code for any purpose and 
    without fee. You may distribute this ORIGINAL package.

History:
    ...
    Dec. 1995  : Edit the General Purpose FFT
    Mar. 1996  : Change the specification
    Jun. 1996  : Change the method of trigonometric function table
    Sep. 1996  : Modify the documents
    Feb. 1997  : Change the butterfly loops
    Dec. 1997  : Modify the documents
    Dec. 1997  : Add "fft4g.*"
    Jul. 1998  : Fix some bugs in the documents
    Jul. 1998  : Add "fft8g.*" and delete "fft4f.*"
    Jul. 1998  : Add a benchmark program "pi_fft.c"
    Jul. 1999  : Add a simple version "fft*g_h.c"
    Jul. 1999  : Add a Split-Radix FFT package "fftsg*.c"
    Sep. 1999  : Reduce the memory operation (minor optimization)
    Oct. 1999  : Change the butterfly structure of "fftsg*.c"
    Oct. 1999  : Save the code size
    Sep. 2001  : Add "fftsg.f"
    Sep. 2001  : Add Pthread & Win32thread routines to "fftsg*.c"
    Dec. 2006  : Fix a minor bug in "fftsg.f"



==============================================================================
fft2d/readme2d.txt
==============================================================================

General Purpose 2D,3D FFT (Fast Fourier Transform) Package

Files
    alloc.c    : 2D-array Allocation
    alloc.h    : 2D-array Allocation
    fft4f2d.c  : 2D FFT Package in C       - Version I (radix 4, 2)
    fft4f2d.f  : 2D FFT Package in Fortran - Version I (radix 4, 2)
    fftsg.c    : 1D FFT Package in C       - Fast Version (Split-Radix)
    fftsg.f    : 1D FFT Package in Fortran - Fast Version (Split-Radix)
    fftsg2d.c  : 2D FFT Package in C       - Version II (Split-Radix)
    fftsg2d.f  : 2D FFT Package in Fortran - Version II (Split-Radix)
    fftsg3d.c  : 3D FFT Package in C       - Version II (Split-Radix)
    fftsg3d.f  : 3D FFT Package in Fortran - Version II (Split-Radix)
    shrtdct.c  : 8x8, 16x16 DCT Package
    sample2d/
        Makefile    : for gcc, cc
        Makefile.f77: for Fortran
        Makefile.pth: Pthread version
        fft4f2dt.c  : Test Program for "fft4f2d.c"
        fft4f2dt.f  : Test Program for "fft4f2d.f"
        fftsg2dt.c  : Test Program for "fftsg2d.c"
        fftsg2dt.f  : Test Program for "fftsg2d.f"
        fftsg3dt.c  : Test Program for "fftsg3d.c"
        fftsg3dt.f  : Test Program for "fftsg3d.f"
        shrtdctt.c  : Test Program for "shrtdct.c"

Difference of Files
    C and Fortran versions are equal and 
    the same routines are in each version.
    ---- Difference between "fft4f2d.*" and "fftsg2d.*" ----
    "fft4f2d.*" are optimized for the old machines that 
    don't have the large size CPU cache.
    "fftsg2d.*", "fftsg3d.*" use 1D FFT routines in "fftsg.*".
    "fftsg2d.*", "fftsg3d.*" are optimized for the machines that 
    have the multi-level (L1,L2,etc) cache.

Routines in the Package
    in fft4f2d.*, fftsg2d.*
        cdft2d: 2-dim Complex Discrete Fourier Transform
        rdft2d: 2-dim Real Discrete Fourier Transform
        ddct2d: 2-dim Discrete Cosine Transform
        ddst2d: 2-dim Discrete Sine Transform
        rdft2dsort: rdft2d input/output ordering (fftsg2d.*)
    in fftsg3d.*
        cdft3d: 3-dim Complex Discrete Fourier Transform
        rdft3d: 3-dim Real Discrete Fourier Transform
        ddct3d: 3-dim Discrete Cosine Transform
        ddst3d: 3-dim Discrete Sine Transform
        rdft3dsort: rdft3d input/output ordering
    in fftsg.*
        cdft: 1-dim Complex Discrete Fourier Transform
        rdft: 1-dim Real Discrete Fourier Transform
        ddct: 1-dim Discrete Cosine Transform
        ddst: 1-dim Discrete Sine Transform
        dfct: 1-dim Real Symmetric DFT
        dfst: 1-dim Real Anti-symmetric DFT
        (these routines are called by fftsg2d.*, fftsg3d.*)
    in shrtdct.c
        ddct8x8s  : Normalized 8x8 DCT
        ddct16x16s: Normalized 16x16 DCT
        (faster than ddct2d())

Usage
    Brief explanations are in block comments of each packages.
    The examples are given in the test programs.

Copyright
    Copyright(C) 1997,2001 Takuya OOURA (email: ooura@kurims.kyoto-u.ac.jp).
    You may use, copy, modify this code for any purpose and 
    without fee. You may distribute this ORIGINAL package.

History
    ...
    Nov. 2001  : Add 3D-FFT routines
    Dec. 2006  : Fix a documentation bug in "fftsg3d.*"
    Dec. 2006  : Fix a minor bug in "fftsg.f"



==============================================================================
flatbuffers/LICENSE
==============================================================================


                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


==============================================================================
fp16/LICENSE
==============================================================================

The MIT License (MIT)

Copyright (c) 2017 Facebook Inc.
Copyright (c) 2017 Georgia Institute of Technology
Copyright 2019 Google LLC

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


==============================================================================
gemmlowp/AUTHORS
==============================================================================

# This is the official list of gemmlowp authors for copyright purposes.
# This file is distinct from the CONTRIBUTORS.txt file.
# See the latter for an explanation.

# Names should be added to this file as:
# Name or Organization <email address>
# The email address is not required for organizations.

Google Inc.
Intel Corporation
ARM Ltd.
Silk Labs Inc.
MIPS Tech LLC
Wave Computing Inc.


==============================================================================
gemmlowp/LICENSE
==============================================================================


                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


==============================================================================
pthreadpool/LICENSE
==============================================================================

Copyright 2019 Google LLC
Copyright (c) 2017 Facebook Inc.
Copyright (c) 2015-2017 Georgia Institute of Technology
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.



==============================================================================
ruy/LICENSE
==============================================================================


                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


==============================================================================
fastfeat/LICENSE
==============================================================================

Copyright (c) 2006, 2008 Edward Rosten
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:


	*Redistributions of source code must retain the above copyright
	 notice, this list of conditions and the following disclaimer.

	*Redistributions in binary form must reproduce the above copyright
	 notice, this list of conditions and the following disclaimer in the
	 documentation and/or other materials provided with the distribution.

	*Neither the name of the University of Cambridge nor the names of 
	 its contributors may be used to endorse or promote products derived 
	 from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


==============================================================================
libwebm/AUTHORS.TXT
==============================================================================

# Names should be added to this file like so:
# Name or Organization <email address>

Google Inc.


==============================================================================
libwebm/LICENSE.TXT
==============================================================================

Copyright (c) 2010, Google Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

  * Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.

  * Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in
    the documentation and/or other materials provided with the
    distribution.

  * Neither the name of Google nor the names of its contributors may
    be used to endorse or promote products derived from this software
    without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.



==============================================================================
libwebm/PATENTS.TXT
==============================================================================

Additional IP Rights Grant (Patents)
------------------------------------

"These implementations" means the copyrightable works that implement the WebM
codecs distributed by Google as part of the WebM Project.

Google hereby grants to you a perpetual, worldwide, non-exclusive, no-charge,
royalty-free, irrevocable (except as stated in this section) patent license to
make, have made, use, offer to sell, sell, import, transfer, and otherwise
run, modify and propagate the contents of these implementations of WebM, where
such license applies only to those patent claims, both currently owned by
Google and acquired in the future, licensable by Google that are necessarily
infringed by these implementations of WebM. This grant does not include claims
that would be infringed only as a consequence of further modification of these
implementations. If you or your agent or exclusive licensee institute or order
or agree to the institution of patent litigation or any other patent
enforcement activity against any entity (including a cross-claim or
counterclaim in a lawsuit) alleging that any of these implementations of WebM
or any code incorporated within any of these implementations of WebM
constitute direct or contributory patent infringement, or inducement of
patent infringement, then any patent rights granted to you under this License
for these implementations of WebM shall terminate as of the date such
litigation is filed.


==============================================================================
tensorflow/AUTHORS
==============================================================================

# This is the official list of TensorFlow authors for copyright purposes.
# This file is distinct from the CONTRIBUTORS files.
# See the latter for an explanation.

# Names should be added to this file as:
# Name or Organization <email address>
# The email address is not required for organizations.

Google Inc.
Yuan Tang <terrytangyuan@gmail.com>
Arm Ltd


==============================================================================
tensorflow/LICENSE
==============================================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

## Some of TensorFlow's code is derived from Caffe, which is subject to the following copyright notice:

COPYRIGHT

All contributions by the University of California:

Copyright (c) 2014, The Regents of the University of California (Regents)
All rights reserved.

All other contributions:

Copyright (c) 2014, the respective contributors
All rights reserved.

Caffe uses a shared copyright model: each contributor holds copyright over
their contributions to Caffe. The project versioning records all such
contribution and copyright details. If a contributor wants to further mark
their specific copyright on a particular contribution, they should indicate
their copyright solely in the commit message of the change when it is
committed.

LICENSE

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
   ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

CONTRIBUTION AGREEMENT

By contributing to the BVLC/caffe repository through pull-request, comment,
or otherwise, the contributor releases their content to the
license and copyright terms herein.

==============================================================================
vector/LICENSE
==============================================================================

The MIT License (MIT)
Copyright (c) 2016 Peter Goldsborough

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


==============================================================================
libyuv/LICENSE
==============================================================================

Copyright 2011 The LibYuv Project Authors. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

  * Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.

  * Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in
    the documentation and/or other materials provided with the
    distribution.

  * Neither the name of Google nor the names of its contributors may
    be used to endorse or promote products derived from this software
    without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


==============================================================================
libyuv/PATENTS
==============================================================================

Additional IP Rights Grant (Patents)

"This implementation" means the copyrightable works distributed by
Google as part of the LibYuv code package.

Google hereby grants to you a perpetual, worldwide, non-exclusive,
no-charge, irrevocable (except as stated in this section) patent
license to make, have made, use, offer to sell, sell, import,
transfer, and otherwise run, modify and propagate the contents of this
implementation of the LibYuv code package, where such license applies
only to those patent claims, both currently owned by Google and
acquired in the future, licensable by Google that are necessarily
infringed by this implementation of the LibYuv code package. This
grant does not include claims that would be infringed only as a
consequence of further modification of this implementation. If you or
your agent or exclusive licensee institute or order or agree to the
institution of patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that this
implementation of the LibYuv code package or any code incorporated
within this implementation of the LibYuv code package constitutes
direct or contributory patent infringement, or inducement of patent
infringement, then any patent rights granted to you under this License
for this implementation of the LibYuv code package shall terminate as
of the date such litigation is filed.

==============================================================================
libyuv/AUTHORS
==============================================================================

# Names should be added to this file like so:
# Name or Organization <email address>

Google Inc.


==============================================================================
libyuv/upstream-file-NOTICES.txt
==============================================================================

Sources: include/libyuv/basic_types.h, include/libyuv/convert.h, include/libyuv/convert_from.h, include/libyuv/cpu_id.h, include/libyuv/planar_functions.h, include/libyuv/rotate.h, include/libyuv/row.h, include/libyuv/scale.h, source/cpu_id.cc, source/planar_functions.cc, source/row_common.cc, source/row_gcc.cc, source/row_neon.cc, source/row_win.cc, source/scale.cc, source/scale_neon.cc
/*
 *  Copyright 2011 The LibYuv Project Authors. All rights reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

Sources: include/libyuv/convert_argb.h, source/row_any.cc, source/scale_mips.cc
/*
 *  Copyright 2012 The LibYuv Project Authors. All rights reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

Sources: include/libyuv/scale_row.h, source/scale_common.cc, source/scale_gcc.cc, source/scale_win.cc
/*
 *  Copyright 2013 The LibYuv Project Authors. All rights reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

Sources: source/row_mips.cc
/*
 *  Copyright (c) 2012 The LibYuv project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

Sources: source/row_neon64.cc, source/scale_neon64.cc
/*
 *  Copyright 2014 The LibYuv Project Authors. All rights reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

Sources: source/scale_any.cc
/*
 *  Copyright 2015 The LibYuv Project Authors. All rights reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */


==============================================================================
tensorflow/nested/fft2d-LICENSE
==============================================================================

Copyright(C) 1997,2001 Takuya OOURA (email: ooura@kurims.kyoto-u.ac.jp).
You may use, copy, modify this code for any purpose and 
without fee. You may distribute this ORIGINAL package.


==============================================================================
tensorflow/nested/xla-LICENSE
==============================================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

==============================================================================
tensorflow/nested/tsl-LICENSE
==============================================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

==============================================================================
file-level-NOTICES.txt
==============================================================================

AVM dependency file-level copyright and permission notices

Extracted verbatim comment blocks from the retained compiler inputs. Paths identify source attribution; conditional platform code may not be linked.


==============================================================================

Sources: build_arm64/XNNPACK/include/experiments-config.h, build_arm64/XNNPACK/src/amalgam/gen/neondotfp16-aarch64.c, build_arm64/XNNPACK/src/configs/argmaxpool-config.c, build_arm64/XNNPACK/src/configs/avgpool-config.c, build_arm64/XNNPACK/src/configs/cmul-config.c, build_arm64/XNNPACK/src/configs/conv-hwc2chw-config.c, build_arm64/XNNPACK/src/configs/dwconv-config.c, build_arm64/XNNPACK/src/configs/dwconv2d-chw-config.c, build_arm64/XNNPACK/src/configs/experiments-config.c, build_arm64/XNNPACK/src/configs/gavgpool-config.c, build_arm64/XNNPACK/src/configs/gavgpool-cw-config.c, build_arm64/XNNPACK/src/configs/gemm-config.c, build_arm64/XNNPACK/src/configs/ibilinear-chw-config.c, build_arm64/XNNPACK/src/configs/ibilinear-config.c, build_arm64/XNNPACK/src/configs/lut32norm-config.c, build_arm64/XNNPACK/src/configs/maxpool-config.c, build_arm64/XNNPACK/src/configs/pavgpool-config.c, build_arm64/XNNPACK/src/configs/prelu-config.c, build_arm64/XNNPACK/src/configs/raddstoreexpminusmax-config.c, build_arm64/XNNPACK/src/configs/reduce-config.c, build_arm64/XNNPACK/src/configs/rmax-config.c, build_arm64/XNNPACK/src/configs/spmm-config.c, build_arm64/XNNPACK/src/configs/unpool-config.c, build_arm64/XNNPACK/src/configs/vmulcaddc-config.c, build_arm64/XNNPACK/src/configs/xx-fill-config.c, build_arm64/XNNPACK/src/configs/xx-pad-config.c, build_arm64/XNNPACK/src/configs/zip-config.c, build_arm64/XNNPACK/src/operators/batch-matrix-multiply-nc.c, build_arm64/XNNPACK/src/operators/dynamic-fully-connected-nc.c, build_arm64/XNNPACK/src/operators/reduce-nd.c, build_arm64/XNNPACK/src/operators/scaled-dot-product-attention-nhtc.c, build_arm64/XNNPACK/src/subgraph/batch-matrix-multiply.c, build_arm64/XNNPACK/src/subgraph/fully-connected-sparse.c, build_arm64/XNNPACK/src/subgraph/reshape-helpers.c, build_arm64/XNNPACK/src/subgraph/scaled-dot-product-attention.c, build_arm64/XNNPACK/src/subgraph/static-mean.c, build_arm64/XNNPACK/src/subgraph/tanh.c, build_arm64/XNNPACK/src/tables/exp2minus-k-over-32.c, build_arm64/XNNPACK/src/xnnpack/packw.h, build_arm64/XNNPACK/src/xnnpack/quantization.h, build_arm64/XNNPACK/src/xnnpack/reduce.h, build_arm64/XNNPACK/src/xnnpack/reshape-helpers.h

// Copyright 2023 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.


==============================================================================

Sources: build_arm64/XNNPACK/include/xnnpack.h, build_arm64/XNNPACK/src/indirection.c, build_arm64/XNNPACK/src/init.c, build_arm64/XNNPACK/src/operator-delete.c, build_arm64/XNNPACK/src/operator-run.c, build_arm64/XNNPACK/src/operators/average-pooling-nhwc.c, build_arm64/XNNPACK/src/operators/channel-shuffle-nc.c, build_arm64/XNNPACK/src/operators/convolution-nhwc.c, build_arm64/XNNPACK/src/operators/deconvolution-nhwc.c, build_arm64/XNNPACK/src/operators/fully-connected-nc.c, build_arm64/XNNPACK/src/operators/global-average-pooling-nwc.c, build_arm64/XNNPACK/src/operators/max-pooling-nhwc.c, build_arm64/XNNPACK/src/operators/softmax-nc.c, build_arm64/XNNPACK/src/packing.c, build_arm64/XNNPACK/src/xnnpack/avgpool.h, build_arm64/XNNPACK/src/xnnpack/common.h, build_arm64/XNNPACK/src/xnnpack/conv.h, build_arm64/XNNPACK/src/xnnpack/dwconv.h, build_arm64/XNNPACK/src/xnnpack/gavgpool.h, build_arm64/XNNPACK/src/xnnpack/gemm.h, build_arm64/XNNPACK/src/xnnpack/igemm.h, build_arm64/XNNPACK/src/xnnpack/indirection.h, build_arm64/XNNPACK/src/xnnpack/log.h, build_arm64/XNNPACK/src/xnnpack/lut.h, build_arm64/XNNPACK/src/xnnpack/math.h, build_arm64/XNNPACK/src/xnnpack/maxpool.h, build_arm64/XNNPACK/src/xnnpack/operator.h, build_arm64/XNNPACK/src/xnnpack/pack.h, build_arm64/XNNPACK/src/xnnpack/params.h, build_arm64/XNNPACK/src/xnnpack/requantization.h, build_arm64/XNNPACK/src/xnnpack/vbinary.h, build_arm64/XNNPACK/src/xnnpack/zip.h

// Copyright (c) Facebook, Inc. and its affiliates.
// All rights reserved.
//
// Copyright 2019 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.


==============================================================================

Sources: build_arm64/XNNPACK/src/allocator.c, build_arm64/XNNPACK/src/f16-igemm/gen/f16-igemm-6x16-aarch64-neonfp16arith-cortex-a55.cc, build_arm64/XNNPACK/src/f16-igemm/gen/f16-igemm-6x16-aarch64-neonfp16arith-cortex-a55r0.cc, build_arm64/XNNPACK/src/f16-igemm/gen/f16-igemm-6x16-aarch64-neonfp16arith-cortex-a75.cc, build_arm64/XNNPACK/src/f16-igemm/gen/f16-igemm-6x16-aarch64-neonfp16arith-ld64.cc, build_arm64/XNNPACK/src/f32-gemm/gen/f32-gemm-1x8-aarch64-neonfma-cortex-a53.cc, build_arm64/XNNPACK/src/f32-gemm/gen/f32-gemm-1x8-aarch64-neonfma-cortex-a75.cc, build_arm64/XNNPACK/src/f32-gemm/gen/f32-gemm-4x8-aarch64-neonfma-cortex-a53.cc, build_arm64/XNNPACK/src/f32-gemm/gen/f32-gemm-4x8-aarch64-neonfma-cortex-a55.cc, build_arm64/XNNPACK/src/f32-gemm/gen/f32-gemm-4x8-aarch64-neonfma-cortex-a75.cc, build_arm64/XNNPACK/src/f32-gemm/gen/f32-gemm-4x8-aarch64-neonfma-ld128.cc, build_arm64/XNNPACK/src/f32-gemm/gen/f32-gemm-6x8-aarch64-neonfma-cortex-a53.cc, build_arm64/XNNPACK/src/f32-gemm/gen/f32-gemm-6x8-aarch64-neonfma-cortex-a55.cc, build_arm64/XNNPACK/src/f32-gemm/gen/f32-gemm-6x8-aarch64-neonfma-cortex-a75.cc, build_arm64/XNNPACK/src/f32-gemm/gen/f32-gemm-6x8-aarch64-neonfma-ld128.cc, build_arm64/XNNPACK/src/f32-igemm/gen/f32-igemm-1x8-aarch64-neonfma-cortex-a53.cc, build_arm64/XNNPACK/src/f32-igemm/gen/f32-igemm-1x8-aarch64-neonfma-cortex-a75.cc, build_arm64/XNNPACK/src/f32-igemm/gen/f32-igemm-4x8-aarch64-neonfma-cortex-a53.cc, build_arm64/XNNPACK/src/f32-igemm/gen/f32-igemm-4x8-aarch64-neonfma-cortex-a55.cc, build_arm64/XNNPACK/src/f32-igemm/gen/f32-igemm-4x8-aarch64-neonfma-cortex-a75.cc, build_arm64/XNNPACK/src/f32-igemm/gen/f32-igemm-6x8-aarch64-neonfma-cortex-a53.cc, build_arm64/XNNPACK/src/f32-igemm/gen/f32-igemm-6x8-aarch64-neonfma-cortex-a55.cc, build_arm64/XNNPACK/src/f32-igemm/gen/f32-igemm-6x8-aarch64-neonfma-cortex-a75.cc, build_arm64/XNNPACK/src/operators/argmax-pooling-nhwc.c, build_arm64/XNNPACK/src/operators/binary-elementwise-nd.c, build_arm64/XNNPACK/src/operators/convolution-nchw.c, build_arm64/XNNPACK/src/operators/global-average-pooling-ncw.c, build_arm64/XNNPACK/src/operators/prelu-nc.c, build_arm64/XNNPACK/src/operators/resize-bilinear-nhwc.c, build_arm64/XNNPACK/src/operators/rope-nthc.c, build_arm64/XNNPACK/src/operators/unpooling-nhwc.c, build_arm64/XNNPACK/src/tables/exp2-k-over-2048.c, build_arm64/XNNPACK/src/tables/exp2-k-over-64.c, build_arm64/XNNPACK/src/xnnpack/allocator.h, build_arm64/XNNPACK/src/xnnpack/argmaxpool.h, build_arm64/XNNPACK/src/xnnpack/compute.h, build_arm64/XNNPACK/src/xnnpack/ibilinear.h, build_arm64/XNNPACK/src/xnnpack/intrinsics-polyfill.h, build_arm64/XNNPACK/src/xnnpack/math-stubs.h, build_arm64/XNNPACK/src/xnnpack/memory.h, build_arm64/XNNPACK/src/xnnpack/pad.h, build_arm64/XNNPACK/src/xnnpack/pavgpool.h, build_arm64/XNNPACK/src/xnnpack/prelu.h, build_arm64/XNNPACK/src/xnnpack/raddstoreexpminusmax.h, build_arm64/XNNPACK/src/xnnpack/spmm.h, build_arm64/XNNPACK/src/xnnpack/unpool.h, build_arm64/XNNPACK/src/xnnpack/vmulcaddc.h, build_arm64/XNNPACK/src/xnnpack/vunary.h

// Copyright 2019 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.


==============================================================================

Sources: build_arm64/XNNPACK/src/amalgam/gen/neon-aarch64.c, build_arm64/XNNPACK/src/amalgam/gen/neon.c, build_arm64/XNNPACK/src/amalgam/gen/neondot-aarch64.c, build_arm64/XNNPACK/src/amalgam/gen/neondot.c, build_arm64/XNNPACK/src/amalgam/gen/neondotfp16arith.c, build_arm64/XNNPACK/src/amalgam/gen/neonfma-aarch64.c, build_arm64/XNNPACK/src/amalgam/gen/neonfma.c, build_arm64/XNNPACK/src/amalgam/gen/neonfp16.c, build_arm64/XNNPACK/src/amalgam/gen/neonfp16arith-aarch64.c, build_arm64/XNNPACK/src/amalgam/gen/neonfp16arith.c, build_arm64/XNNPACK/src/amalgam/gen/neoni8mm.c, build_arm64/XNNPACK/src/amalgam/gen/neonv8.c, build_arm64/XNNPACK/src/amalgam/gen/scalar.c, build_arm64/XNNPACK/src/enums/datatype-strings.c, build_arm64/XNNPACK/src/f32-igemm/gen/f32-igemm-4x8-aarch64-neonfma-ld128.cc, build_arm64/XNNPACK/src/f32-igemm/gen/f32-igemm-6x8-aarch64-neonfma-ld128.cc, build_arm64/XNNPACK/src/jit/aarch32-assembler.cc, build_arm64/XNNPACK/src/memory.c, build_arm64/XNNPACK/src/microparams-init.c, build_arm64/XNNPACK/src/operators/lut-elementwise-nc.c, build_arm64/XNNPACK/src/subgraph/convert.c, build_arm64/XNNPACK/src/xnnpack/aarch32-assembler.h, build_arm64/XNNPACK/src/xnnpack/microparams-init.h, build_arm64/XNNPACK/src/xnnpack/transpose.h, build_arm64/XNNPACK/src/xnnpack/vcvt.h

// Copyright 2021 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.


==============================================================================

Sources: build_arm64/XNNPACK/src/cache.c, build_arm64/XNNPACK/src/configs/binary-elementwise-config.c, build_arm64/XNNPACK/src/configs/hardware-config.c, build_arm64/XNNPACK/src/configs/transpose-config.c, build_arm64/XNNPACK/src/configs/unary-elementwise-config.c, build_arm64/XNNPACK/src/configs/x8-lut-config.c, build_arm64/XNNPACK/src/f16-igemm/gen/f16-igemm-1x16-aarch64-neonfp16arith-ld64.cc, build_arm64/XNNPACK/src/f16-igemm/gen/f16-igemm-4x16-aarch64-neonfp16arith-ld64.cc, build_arm64/XNNPACK/src/jit/aarch64-assembler.cc, build_arm64/XNNPACK/src/jit/assembler.cc, build_arm64/XNNPACK/src/microkernel-utils.c, build_arm64/XNNPACK/src/mutex.c, build_arm64/XNNPACK/src/normalization.c, build_arm64/XNNPACK/src/operator-utils.c, build_arm64/XNNPACK/src/operators/post-operation.c, build_arm64/XNNPACK/src/operators/slice-nd.c, build_arm64/XNNPACK/src/operators/transpose-nd.c, build_arm64/XNNPACK/src/params.c, build_arm64/XNNPACK/src/subgraph/concatenate.c, build_arm64/XNNPACK/src/subgraph/copy.c, build_arm64/XNNPACK/src/subgraph/even-split.c, build_arm64/XNNPACK/src/subgraph/space-to-depth-2d.c, build_arm64/XNNPACK/src/subgraph/static-slice.c, build_arm64/XNNPACK/src/subgraph/static-transpose.c, build_arm64/XNNPACK/src/subgraph/validation.c, build_arm64/XNNPACK/src/tables/vlog.c, build_arm64/XNNPACK/src/xnnpack/aarch64-assembler.h, build_arm64/XNNPACK/src/xnnpack/assembler.h, build_arm64/XNNPACK/src/xnnpack/cache.h, build_arm64/XNNPACK/src/xnnpack/config.h, build_arm64/XNNPACK/src/xnnpack/microfnptr.h, build_arm64/XNNPACK/src/xnnpack/microkernel-utils.h, build_arm64/XNNPACK/src/xnnpack/microparams.h, build_arm64/XNNPACK/src/xnnpack/mutex.h, build_arm64/XNNPACK/src/xnnpack/normalization.h, build_arm64/XNNPACK/src/xnnpack/operator-utils.h, build_arm64/XNNPACK/src/xnnpack/post-operation.h, build_arm64/XNNPACK/src/xnnpack/prefetch.h, build_arm64/XNNPACK/src/xnnpack/subgraph-validation.h, build_arm64/XNNPACK/src/xnnpack/unaligned.h, build_arm64/XNNPACK/src/xnnpack/vlrelu.h

// Copyright 2022 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.


==============================================================================

Sources: build_arm64/XNNPACK/src/enums/allocation-type.c, build_arm64/XNNPACK/src/xnnpack/allocation-type.h

// Copyright 2022 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.
//
// Auto-generated file. Do not edit!
//   Specification: src/enums/allocation-type.yaml
//   Generator: tools/generate-enum.py


==============================================================================

Sources: build_arm64/XNNPACK/src/enums/microkernel-type.c, build_arm64/XNNPACK/src/xnnpack/microkernel-type.h

// Copyright 2022 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.
//
// Auto-generated file. Do not edit!
//   Specification: src/enums/microkernel-type.yaml
//   Generator: tools/generate-enum.py


==============================================================================

Sources: build_arm64/XNNPACK/src/enums/node-type.c, build_arm64/XNNPACK/src/xnnpack/node-type.h

// Copyright 2022 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.
//
// Auto-generated file. Do not edit!
//   Specification: src/enums/node-type.yaml
//   Generator: tools/generate-enum.py


==============================================================================

Sources: build_arm64/XNNPACK/src/enums/operator-type.c, build_arm64/XNNPACK/src/xnnpack/operator-type.h

// Copyright 2022 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.
//
// Auto-generated file. Do not edit!
//   Specification: src/enums/operator-type.yaml
//   Generator: tools/generate-enum.py


==============================================================================

Sources: build_arm64/XNNPACK/src/f16-gemm/gen/f16-gemm-1x16-aarch64-neonfp16arith-ld64.cc, build_arm64/XNNPACK/src/f16-gemm/gen/f16-gemm-4x16-aarch64-neonfp16arith-ld64.cc, build_arm64/XNNPACK/src/f16-gemm/gen/f16-gemm-6x16-aarch64-neonfp16arith-cortex-a55.cc, build_arm64/XNNPACK/src/f16-gemm/gen/f16-gemm-6x16-aarch64-neonfp16arith-cortex-a55r0.cc, build_arm64/XNNPACK/src/f16-gemm/gen/f16-gemm-6x16-aarch64-neonfp16arith-cortex-a75.cc, build_arm64/XNNPACK/src/f16-gemm/gen/f16-gemm-6x16-aarch64-neonfp16arith-ld64.cc, build_arm64/XNNPACK/src/f32-gemm/gen/f32-gemm-1x8-aarch64-neonfma-ld64.cc, build_arm64/XNNPACK/src/memory-planner.c, build_arm64/XNNPACK/src/operators/constant-pad-nd.c, build_arm64/XNNPACK/src/operators/resize-bilinear-nchw.c, build_arm64/XNNPACK/src/operators/unary-elementwise-nc.c, build_arm64/XNNPACK/src/runtime.c, build_arm64/XNNPACK/src/subgraph.c, build_arm64/XNNPACK/src/subgraph/abs.c, build_arm64/XNNPACK/src/subgraph/add2.c, build_arm64/XNNPACK/src/subgraph/argmax-pooling-2d.c, build_arm64/XNNPACK/src/subgraph/average-pooling-2d.c, build_arm64/XNNPACK/src/subgraph/bankers-rounding.c, build_arm64/XNNPACK/src/subgraph/ceiling.c, build_arm64/XNNPACK/src/subgraph/clamp.c, build_arm64/XNNPACK/src/subgraph/convolution-2d.c, build_arm64/XNNPACK/src/subgraph/deconvolution-2d.c, build_arm64/XNNPACK/src/subgraph/depth-to-space-2d.c, build_arm64/XNNPACK/src/subgraph/depthwise-convolution-2d.c, build_arm64/XNNPACK/src/subgraph/divide.c, build_arm64/XNNPACK/src/subgraph/elu.c, build_arm64/XNNPACK/src/subgraph/floor.c, build_arm64/XNNPACK/src/subgraph/fully-connected.c, build_arm64/XNNPACK/src/subgraph/global-average-pooling.c, build_arm64/XNNPACK/src/subgraph/global-sum-pooling.c, build_arm64/XNNPACK/src/subgraph/hardswish.c, build_arm64/XNNPACK/src/subgraph/leaky-relu.c, build_arm64/XNNPACK/src/subgraph/max-pooling-2d.c, build_arm64/XNNPACK/src/subgraph/maximum2.c, build_arm64/XNNPACK/src/subgraph/minimum2.c, build_arm64/XNNPACK/src/subgraph/multiply2.c, build_arm64/XNNPACK/src/subgraph/negate.c, build_arm64/XNNPACK/src/subgraph/prelu.c, build_arm64/XNNPACK/src/subgraph/reciprocal-square-root.c, build_arm64/XNNPACK/src/subgraph/sigmoid.c, build_arm64/XNNPACK/src/subgraph/softmax.c, build_arm64/XNNPACK/src/subgraph/square-root.c, build_arm64/XNNPACK/src/subgraph/square.c, build_arm64/XNNPACK/src/subgraph/squared-difference.c, build_arm64/XNNPACK/src/subgraph/static-constant-pad.c, build_arm64/XNNPACK/src/subgraph/static-reshape.c, build_arm64/XNNPACK/src/subgraph/static-resize-bilinear-2d.c, build_arm64/XNNPACK/src/subgraph/subtract.c, build_arm64/XNNPACK/src/subgraph/unpooling-2d.c, build_arm64/XNNPACK/src/tables/exp2minus-k-over-16.c, build_arm64/XNNPACK/src/tables/exp2minus-k-over-2048.c, build_arm64/XNNPACK/src/tables/exp2minus-k-over-4.c, build_arm64/XNNPACK/src/tables/exp2minus-k-over-64.c, build_arm64/XNNPACK/src/tables/exp2minus-k-over-8.c, build_arm64/XNNPACK/src/tensor.c, build_arm64/XNNPACK/src/xnnpack/fill.h, build_arm64/XNNPACK/src/xnnpack/memory-planner.h, build_arm64/XNNPACK/src/xnnpack/subgraph.h

// Copyright 2020 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.


==============================================================================

Sources: build_arm64/XNNPACK/src/log.c

// Copyright (c) Facebook, Inc. and its affiliates.
// All rights reserved.
//
// Copyright 2022 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/algorithm/algorithm.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: algorithm.h
// -----------------------------------------------------------------------------
//
// This header file contains Google extensions to the standard <algorithm> C++
// header.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/algorithm/container.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: container.h
// -----------------------------------------------------------------------------
//
// This header file provides Container-based versions of algorithmic functions
// within the C++ standard library. The following standard library sets of
// functions are covered within this file:
//
//   * Algorithmic <iterator> functions
//   * Algorithmic <numeric> functions
//   * <algorithm> functions
//
// The standard library functions operate on iterator ranges; the functions
// within this API operate on containers, though many return iterator ranges.
//
// All functions within this API are named with a `c_` prefix. Calls such as
// `absl::c_xx(container, ...) are equivalent to std:: functions such as
// `std::xx(std::begin(cont), std::end(cont), ...)`. Functions that act on
// iterators but not conceptually on iterator ranges (e.g. `std::iter_swap`)
// have no equivalent here.
//
// For template parameter and variable naming, `C` indicates the container type
// to which the function is applied, `Pred` indicates the predicate object type
// to be used by the function and `T` indicates the applicable element type.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/attributes.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// This header file defines macros for declaring attributes for functions,
// types, and variables.
//
// These macros are used within Abseil and allow the compiler to optimize, where
// applicable, certain function calls.
//
// Most macros here are exposing GCC or Clang features, and are stubbed out for
// other compilers.
//
// GCC attributes documentation:
//   https://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/Function-Attributes.html
//   https://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/Variable-Attributes.html
//   https://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/Type-Attributes.html
//
// Most attributes in this file are already supported by GCC 4.7. However, some
// of them are not supported in older version of Clang. Thus, we check
// `__has_attribute()` first. If the check fails, we check if we are on GCC and
// assume the attribute exists on GCC (which is verified on GCC 4.7).


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/call_once.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: call_once.h
// -----------------------------------------------------------------------------
//
// This header file provides an Abseil version of `std::call_once` for invoking
// a given function at most once, across all threads. This Abseil version is
// faster than the C++11 version and incorporates the C++17 argument-passing
// fix, so that (for example) non-const references may be passed to the invoked
// function.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/casts.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: casts.h
// -----------------------------------------------------------------------------
//
// This header file defines casting templates to fit use cases not covered by
// the standard casts provided in the C++ standard. As with all cast operations,
// use these with caution and only if alternatives do not exist.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/config.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: config.h
// -----------------------------------------------------------------------------
//
// This header file defines a set of macros for checking the presence of
// important compiler and platform features. Such macros can be used to
// produce portable code by parameterizing compilation based on the presence or
// lack of a given feature.
//
// We define a "feature" as some interface we wish to program to: for example,
// a library function or system call. A value of `1` indicates support for
// that feature; any other value indicates the feature support is undefined.
//
// Example:
//
// Suppose a programmer wants to write a program that uses the 'mmap()' system
// call. The Abseil macro for that feature (`ABSL_HAVE_MMAP`) allows you to
// selectively include the `mmap.h` header and bracket code using that feature
// in the macro:
//
//   #include "absl/base/config.h"
//
//   #ifdef ABSL_HAVE_MMAP
//   #include "sys/mman.h"
//   #endif  //ABSL_HAVE_MMAP
//
//   ...
//   #ifdef ABSL_HAVE_MMAP
//   void *ptr = mmap(...);
//   ...
//   #endif  // ABSL_HAVE_MMAP


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/const_init.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// kConstInit
// -----------------------------------------------------------------------------
//
// A constructor tag used to mark an object as safe for use as a global
// variable, avoiding the usual lifetime issues that can affect globals.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/dynamic_annotations.h, build_arm64/abseil-cpp/absl/base/internal/atomic_hook.h, build_arm64/abseil-cpp/absl/base/internal/cycleclock.cc, build_arm64/abseil-cpp/absl/base/internal/dynamic_annotations.h, build_arm64/abseil-cpp/absl/base/internal/errno_saver.h, build_arm64/abseil-cpp/absl/base/internal/inline_variable.h, build_arm64/abseil-cpp/absl/base/internal/low_level_alloc.cc, build_arm64/abseil-cpp/absl/base/internal/per_thread_tls.h, build_arm64/abseil-cpp/absl/base/internal/raw_logging.cc, build_arm64/abseil-cpp/absl/base/internal/spinlock.cc, build_arm64/abseil-cpp/absl/base/internal/spinlock_wait.cc, build_arm64/abseil-cpp/absl/base/internal/spinlock_wait.h, build_arm64/abseil-cpp/absl/base/internal/sysinfo.cc, build_arm64/abseil-cpp/absl/base/internal/thread_identity.cc, build_arm64/abseil-cpp/absl/base/internal/throw_delegate.cc, build_arm64/abseil-cpp/absl/base/internal/unscaledcycleclock.cc, build_arm64/abseil-cpp/absl/base/log_severity.cc, build_arm64/abseil-cpp/absl/base/log_severity.h, build_arm64/abseil-cpp/absl/debugging/internal/address_is_readable.cc, build_arm64/abseil-cpp/absl/debugging/internal/address_is_readable.h, build_arm64/abseil-cpp/absl/debugging/internal/elf_mem_image.cc, build_arm64/abseil-cpp/absl/debugging/internal/vdso_support.cc, build_arm64/abseil-cpp/absl/debugging/stacktrace.cc, build_arm64/abseil-cpp/absl/numeric/int128.cc, build_arm64/abseil-cpp/absl/strings/ascii.cc, build_arm64/abseil-cpp/absl/strings/escaping.cc, build_arm64/abseil-cpp/absl/strings/internal/memutil.cc, build_arm64/abseil-cpp/absl/strings/internal/ostringstream.cc, build_arm64/abseil-cpp/absl/strings/internal/ostringstream.h, build_arm64/abseil-cpp/absl/strings/internal/str_format/output.cc, build_arm64/abseil-cpp/absl/strings/internal/utf8.cc, build_arm64/abseil-cpp/absl/strings/match.cc, build_arm64/abseil-cpp/absl/strings/numbers.cc, build_arm64/abseil-cpp/absl/strings/str_cat.cc, build_arm64/abseil-cpp/absl/strings/str_replace.cc, build_arm64/abseil-cpp/absl/strings/str_split.cc, build_arm64/abseil-cpp/absl/strings/string_view.cc, build_arm64/abseil-cpp/absl/strings/substitute.cc, build_arm64/abseil-cpp/absl/synchronization/barrier.cc, build_arm64/abseil-cpp/absl/synchronization/blocking_counter.cc, build_arm64/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc, build_arm64/abseil-cpp/absl/synchronization/internal/graphcycles.cc, build_arm64/abseil-cpp/absl/synchronization/internal/kernel_timeout.h, build_arm64/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc, build_arm64/abseil-cpp/absl/synchronization/mutex.cc, build_arm64/abseil-cpp/absl/synchronization/notification.cc, build_arm64/abseil-cpp/absl/time/clock.cc, build_arm64/abseil-cpp/absl/time/duration.cc, build_arm64/abseil-cpp/absl/time/format.cc, build_arm64/abseil-cpp/absl/time/time.cc, build_arm64/abseil-cpp/absl/types/bad_optional_access.cc, build_arm64/abseil-cpp/absl/types/bad_variant_access.cc

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/cycleclock.h, build_arm64/abseil-cpp/absl/base/internal/spinlock.h, build_arm64/abseil-cpp/absl/base/internal/throw_delegate.h, build_arm64/abseil-cpp/absl/base/internal/unaligned_access.h, build_arm64/abseil-cpp/absl/debugging/internal/vdso_support.h, build_arm64/abseil-cpp/absl/strings/internal/memutil.h, build_arm64/abseil-cpp/absl/strings/internal/resize_uninitialized.h, build_arm64/abseil-cpp/absl/strings/internal/str_format/extension.h, build_arm64/abseil-cpp/absl/strings/internal/str_join_internal.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/cycleclock_config.h, build_arm64/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h, build_arm64/abseil-cpp/absl/crc/crc32c.cc, build_arm64/abseil-cpp/absl/crc/internal/cpu_detect.cc, build_arm64/abseil-cpp/absl/crc/internal/cpu_detect.h, build_arm64/abseil-cpp/absl/crc/internal/crc32c.h, build_arm64/abseil-cpp/absl/crc/internal/crc_cord_state.cc, build_arm64/abseil-cpp/absl/crc/internal/crc_cord_state.h, build_arm64/abseil-cpp/absl/crc/internal/crc_memcpy.h, build_arm64/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc, build_arm64/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc, build_arm64/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc, build_arm64/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h, build_arm64/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h, build_arm64/abseil-cpp/absl/strings/cord_buffer.cc, build_arm64/abseil-cpp/absl/strings/internal/cord_data_edge.h, build_arm64/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc, build_arm64/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h, build_arm64/abseil-cpp/absl/strings/internal/has_absl_stringify.h, build_arm64/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h, build_arm64/abseil-cpp/absl/strings/internal/stringify_sink.cc, build_arm64/abseil-cpp/absl/strings/internal/stringify_sink.h

// Copyright 2022 The Abseil Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/direct_mmap.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Functions for directly invoking mmap() via syscall, avoiding the case where
// mmap() has been locally overridden.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/endian.h, build_arm64/abseil-cpp/absl/base/internal/identity.h, build_arm64/abseil-cpp/absl/base/internal/low_level_alloc.h, build_arm64/abseil-cpp/absl/strings/internal/str_split_internal.h, build_arm64/abseil-cpp/absl/synchronization/internal/graphcycles.h, build_arm64/abseil-cpp/absl/synchronization/internal/per_thread_sem.h, build_arm64/abseil-cpp/absl/synchronization/internal/waiter.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/fast_type_id.h

//
// Copyright 2020 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/hide_ptr.h, build_arm64/abseil-cpp/absl/container/internal/common.h, build_arm64/abseil-cpp/absl/container/internal/container_memory.h, build_arm64/abseil-cpp/absl/container/internal/hash_policy_traits.h, build_arm64/abseil-cpp/absl/container/internal/hashtablez_sampler.cc, build_arm64/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc, build_arm64/abseil-cpp/absl/container/internal/raw_hash_map.h, build_arm64/abseil-cpp/absl/container/internal/raw_hash_set.cc, build_arm64/abseil-cpp/absl/debugging/internal/demangle.cc, build_arm64/abseil-cpp/absl/debugging/internal/demangle.h, build_arm64/abseil-cpp/absl/debugging/internal/symbolize.h, build_arm64/abseil-cpp/absl/debugging/symbolize.cc, build_arm64/abseil-cpp/absl/hash/internal/hash.cc, build_arm64/abseil-cpp/absl/strings/charconv.cc, build_arm64/abseil-cpp/absl/strings/charconv.h, build_arm64/abseil-cpp/absl/strings/internal/charconv_bigint.cc, build_arm64/abseil-cpp/absl/strings/internal/charconv_bigint.h, build_arm64/abseil-cpp/absl/strings/internal/charconv_parse.cc, build_arm64/abseil-cpp/absl/strings/internal/charconv_parse.h, build_arm64/abseil-cpp/absl/time/civil_time.cc, build_arm64/abseil-cpp/absl/time/internal/get_current_time_chrono.inc

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/invoke.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// absl::base_internal::invoke(f, args...) is an implementation of
// INVOKE(f, args...) from section [func.require] of the C++ standard.
// When compiled as C++17 and later versions, it is implemented as an alias of
// std::invoke.
//
// [func.require]
// Define INVOKE (f, t1, t2, ..., tN) as follows:
// 1. (t1.*f)(t2, ..., tN) when f is a pointer to a member function of a class T
//    and t1 is an object of type T or a reference to an object of type T or a
//    reference to an object of a type derived from T;
// 2. ((*t1).*f)(t2, ..., tN) when f is a pointer to a member function of a
//    class T and t1 is not one of the types described in the previous item;
// 3. t1.*f when N == 1 and f is a pointer to member data of a class T and t1 is
//    an object of type T or a reference to an object of type T or a reference
//    to an object of a type derived from T;
// 4. (*t1).*f when N == 1 and f is a pointer to member data of a class T and t1
//    is not one of the types described in the previous item;
// 5. f(t1, t2, ..., tN) in all other cases.
//
// The implementation is SFINAE-friendly: substitution failure within invoke()
// isn't an error.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/low_level_scheduling.h, build_arm64/abseil-cpp/absl/base/internal/scheduling_mode.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Core interfaces and definitions used by by low-level interfaces such as
// SpinLock.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/raw_logging.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Thread-safe logging routines that do not allocate any memory or
// acquire any locks, and can therefore be used by low-level memory
// allocation, synchronization, and signal-handling code.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/spinlock_posix.inc

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// This file is a Posix-specific part of spinlock_wait.cc


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/strerror.cc, build_arm64/abseil-cpp/absl/base/internal/strerror.h, build_arm64/abseil-cpp/absl/debugging/symbolize_darwin.inc, build_arm64/abseil-cpp/absl/strings/cord.cc, build_arm64/abseil-cpp/absl/strings/internal/cord_internal.cc, build_arm64/abseil-cpp/absl/strings/internal/escaping.cc, build_arm64/abseil-cpp/absl/strings/internal/escaping.h, build_arm64/abseil-cpp/absl/strings/internal/str_format/arg.cc, build_arm64/abseil-cpp/absl/strings/internal/str_format/arg.h, build_arm64/abseil-cpp/absl/strings/internal/str_format/bind.cc, build_arm64/abseil-cpp/absl/strings/internal/str_format/bind.h, build_arm64/abseil-cpp/absl/strings/internal/str_format/checker.h, build_arm64/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc, build_arm64/abseil-cpp/absl/strings/internal/str_format/float_conversion.h, build_arm64/abseil-cpp/absl/strings/internal/str_format/parser.cc, build_arm64/abseil-cpp/absl/strings/internal/str_format/parser.h, build_arm64/abseil-cpp/absl/strings/internal/string_constant.h, build_arm64/abseil-cpp/absl/synchronization/internal/futex.h

// Copyright 2020 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/sysinfo.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// This file includes routines to find out characteristics
// of the machine a program is running on.  It is undoubtedly
// system-dependent.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/thread_annotations.h

// Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: thread_annotations.h
// -----------------------------------------------------------------------------
//
// WARNING: This is a backwards compatible header and it will be removed after
// the migration to prefixed thread annotations is finished; please include
// "absl/base/thread_annotations.h".
//
// This header file contains macro definitions for thread safety annotations
// that allow developers to document the locking policies of multi-threaded
// code. The annotations can also help program analysis tools to identify
// potential thread safety issues.
//
// These annotations are implemented using compiler attributes. Using the macros
// defined here instead of raw attributes allow for portability and future
// compatibility.
//
// When referring to mutexes in the arguments of the attributes, you should
// use variable names or more complex expressions (e.g. my_object->mutex_)
// that evaluate to a concrete mutex object whenever possible. If the mutex
// you want to refer to is not in scope, you may use a member pointer
// (e.g. &MyClass::mutex_) to refer to a mutex in some (unknown) object.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/thread_identity.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Each active thread has an ThreadIdentity that may represent the thread in
// various level interfaces.  ThreadIdentity objects are never deallocated.
// When a thread terminates, its ThreadIdentity object may be reused for a
// thread created later.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/tsan_mutex_interface.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// This file is intended solely for spinlock.h.
// It provides ThreadSanitizer annotations for custom mutexes.
// See <sanitizer/tsan_interface.h> for meaning of these annotations.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/internal/unscaledcycleclock.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// UnscaledCycleClock
//    An UnscaledCycleClock yields the value and frequency of a cycle counter
//    that increments at a rate that is approximately constant.
//    This class is for internal use only, you should consider using CycleClock
//    instead.
//
// Notes:
// The cycle counter frequency is not necessarily the core clock frequency.
// That is, CycleCounter cycles are not necessarily "CPU cycles".
//
// An arbitrary offset may have been added to the counter at power on.
//
// On some platforms, the rate and offset of the counter may differ
// slightly when read from different CPUs of a multiprocessor.  Usually,
// we try to ensure that the operating system adjusts values periodically
// so that values agree approximately.   If you need stronger guarantees,
// consider using alternate interfaces.
//
// The CPU is not required to maintain the ordering of a cycle counter read
// with respect to surrounding instructions.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/macros.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: macros.h
// -----------------------------------------------------------------------------
//
// This header file defines the set of language macros used within Abseil code.
// For the set of macros used to determine supported compilers and platforms,
// see absl/base/config.h instead.
//
// This code is compiled directly on many platforms, including client
// platforms like Windows, Mac, and embedded systems.  Before making
// any changes here, make sure that you're not breaking any platforms.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/optimization.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: optimization.h
// -----------------------------------------------------------------------------
//
// This header file defines portable macros for performance optimization.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/options.h

// Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: options.h
// -----------------------------------------------------------------------------
//
// This file contains Abseil configuration options for setting specific
// implementations instead of letting Abseil determine which implementation to
// use at compile-time. Setting these options may be useful for package or build
// managers who wish to guarantee ABI stability within binary builds (which are
// otherwise difficult to enforce).
//
// *** IMPORTANT NOTICE FOR PACKAGE MANAGERS:  It is important that
// maintainers of package managers who wish to package Abseil read and
// understand this file! ***
//
// Abseil contains a number of possible configuration endpoints, based on
// parameters such as the detected platform, language version, or command-line
// flags used to invoke the underlying binary. As is the case with all
// libraries, binaries which contain Abseil code must ensure that separate
// packages use the same compiled copy of Abseil to avoid a diamond dependency
// problem, which can occur if two packages built with different Abseil
// configuration settings are linked together. Diamond dependency problems in
// C++ may manifest as violations to the One Definition Rule (ODR) (resulting in
// linker errors), or undefined behavior (resulting in crashes).
//
// Diamond dependency problems can be avoided if all packages utilize the same
// exact version of Abseil. Building from source code with the same compilation
// parameters is the easiest way to avoid such dependency problems. However, for
// package managers who cannot control such compilation parameters, we are
// providing the file to allow you to inject ABI (Application Binary Interface)
// stability across builds. Settings options in this file will neither change
// API nor ABI, providing a stable copy of Abseil between packages.
//
// Care must be taken to keep options within these configurations isolated
// from any other dynamic settings, such as command-line flags which could alter
// these options. This file is provided specifically to help build and package
// managers provide a stable copy of Abseil within their libraries and binaries;
// other developers should not have need to alter the contents of this file.
//
// -----------------------------------------------------------------------------
// Usage
// -----------------------------------------------------------------------------
//
// For any particular package release, set the appropriate definitions within
// this file to whatever value makes the most sense for your package(s). Note
// that, by default, most of these options, at the moment, affect the
// implementation of types; future options may affect other implementation
// details.
//
// NOTE: the defaults within this file all assume that Abseil can select the
// proper Abseil implementation at compile-time, which will not be sufficient
// to guarantee ABI stability to package managers.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/policy_checks.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: policy_checks.h
// -----------------------------------------------------------------------------
//
// This header enforces a minimum set of policies at build time, such as the
// supported compiler and library versions. Unsupported configurations are
// reported with `#error`. This enforcement is best effort, so successfully
// compiling this header does not guarantee a supported configuration.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/port.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// This files is a forwarding header for other headers containing various
// portability macros and functions.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/prefetch.h

// Copyright 2023 The Abseil Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: prefetch.h
// -----------------------------------------------------------------------------
//
// This header file defines prefetch functions to prefetch memory contents
// into the first level cache (L1) for the current CPU. The prefetch logic
// offered in this header is limited to prefetching first level cachelines
// only, and is aimed at relatively 'simple' prefetching logic.
//


==============================================================================

Sources: build_arm64/abseil-cpp/absl/base/thread_annotations.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: thread_annotations.h
// -----------------------------------------------------------------------------
//
// This header file contains macro definitions for thread safety annotations
// that allow developers to document the locking policies of multi-threaded
// code. The annotations can also help program analysis tools to identify
// potential thread safety issues.
//
// These annotations are implemented using compiler attributes. Using the macros
// defined here instead of raw attributes allow for portability and future
// compatibility.
//
// When referring to mutexes in the arguments of the attributes, you should
// use variable names or more complex expressions (e.g. my_object->mutex_)
// that evaluate to a concrete mutex object whenever possible. If the mutex
// you want to refer to is not in scope, you may use a member pointer
// (e.g. &MyClass::mutex_) to refer to a mutex in some (unknown) object.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/fixed_array.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: fixed_array.h
// -----------------------------------------------------------------------------
//
// A `FixedArray<T>` represents a non-resizable array of `T` where the length of
// the array can be determined at run-time. It is a good replacement for
// non-standard and deprecated uses of `alloca()` and variable length arrays
// within the GCC extension. (See
// https://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html).
//
// `FixedArray` allocates small arrays inline, keeping performance fast by
// avoiding heap operations. It also helps reduce the chances of
// accidentally overflowing your stack if large input is passed to
// your function.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/flat_hash_map.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: flat_hash_map.h
// -----------------------------------------------------------------------------
//
// An `absl::flat_hash_map<K, V>` is an unordered associative container of
// unique keys and associated values designed to be a more efficient replacement
// for `std::unordered_map`. Like `unordered_map`, search, insertion, and
// deletion of map elements can be done as an `O(1)` operation. However,
// `flat_hash_map` (and other unordered associative containers known as the
// collection of Abseil "Swiss tables") contain other optimizations that result
// in both memory and computation advantages.
//
// In most cases, your default choice for a hash map should be a map of type
// `flat_hash_map`.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/flat_hash_set.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: flat_hash_set.h
// -----------------------------------------------------------------------------
//
// An `absl::flat_hash_set<T>` is an unordered associative container designed to
// be a more efficient replacement for `std::unordered_set`. Like
// `unordered_set`, search, insertion, and deletion of set elements can be done
// as an `O(1)` operation. However, `flat_hash_set` (and other unordered
// associative containers known as the collection of Abseil "Swiss tables")
// contain other optimizations that result in both memory and computation
// advantages.
//
// In most cases, your default choice for a hash set should be a set of type
// `flat_hash_set`.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/inlined_vector.h

// Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: inlined_vector.h
// -----------------------------------------------------------------------------
//
// This header file contains the declaration and definition of an "inlined
// vector" which behaves in an equivalent fashion to a `std::vector`, except
// that storage for small sequences of the vector are provided inline without
// requiring any heap allocation.
//
// An `absl::InlinedVector<T, N>` specifies the default capacity `N` as one of
// its template parameters. Instances where `size() <= N` hold contained
// elements in inline space. Typically `N` is very small so that sequences that
// are expected to be short do not require allocations.
//
// An `absl::InlinedVector` does not usually require a specific allocator. If
// the inlined vector grows beyond its initial constraints, it will need to
// allocate (as any normal `std::vector` would). This is usually performed with
// the default allocator (defined as `std::allocator<T>`). Optionally, a custom
// allocator type may be specified as `A` in `absl::InlinedVector<T, N, A>`.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/internal/common_policy_traits.h, build_arm64/abseil-cpp/absl/crc/internal/crc.cc, build_arm64/abseil-cpp/absl/crc/internal/crc.h, build_arm64/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h, build_arm64/abseil-cpp/absl/crc/internal/crc32c_inline.h, build_arm64/abseil-cpp/absl/crc/internal/crc_internal.h, build_arm64/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc

// Copyright 2022 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/internal/compressed_tuple.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Helper class to perform the Empty Base Optimization.
// Ts can contain classes and non-classes, empty or not. For the ones that
// are empty classes, we perform the optimization. If all types in Ts are empty
// classes, then CompressedTuple<Ts...> is itself an empty class.
//
// To access the members, use member get<N>() function.
//
// Eg:
//   absl::container_internal::CompressedTuple<int, T1, T2, T3> value(7, t1, t2,
//                                                                    t3);
//   assert(value.get<0>() == 7);
//   T1& t1 = value.get<1>();
//   const T2& t2 = value.get<2>();
//   ...
//
// https://en.cppreference.com/w/cpp/language/ebo


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/internal/hash_function_defaults.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Define the default Hash and Eq functions for SwissTable containers.
//
// std::hash<T> and std::equal_to<T> are not appropriate hash and equal
// functions for SwissTable containers. There are two reasons for this.
//
// SwissTable containers are power of 2 sized containers:
//
// This means they use the lower bits of the hash value to find the slot for
// each entry. The typical hash function for integral types is the identity.
// This is a very weak hash function for SwissTable and any power of 2 sized
// hashtable implementation which will lead to excessive collisions. For
// SwissTable we use murmur3 style mixing to reduce collisions to a minimum.
//
// SwissTable containers support heterogeneous lookup:
//
// In order to make heterogeneous lookup work, hash and equal functions must be
// polymorphic. At the same time they have to satisfy the same requirements the
// C++ standard imposes on hash functions and equality operators. That is:
//
//   if hash_default_eq<T>(a, b) returns true for any a and b of type T, then
//   hash_default_hash<T>(a) must equal hash_default_hash<T>(b)
//
// For SwissTable containers this requirement is relaxed to allow a and b of
// any and possibly different types. Note that like the standard the hash and
// equal functions are still bound to T. This is important because some type U
// can be hashed by/tested for equality differently depending on T. A notable
// example is `const char*`. `const char*` is treated as a c-style string when
// the hash function is hash<std::string> but as a pointer when the hash
// function is hash<void*>.
//


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Provides the internal API for hashtable_debug.h.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/internal/hashtablez_sampler.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: hashtablez_sampler.h
// -----------------------------------------------------------------------------
//
// This header file defines the API for a low level library to sample hashtables
// and collect runtime statistics about them.
//
// `HashtablezSampler` controls the lifecycle of `HashtablezInfo` objects which
// store information about a single sample.
//
// `Record*` methods store information into samples.
// `Sample()` and `Unsample()` make use of a single global sampler with
// properties controlled by the flags hashtablez_enabled,
// hashtablez_sample_rate, and hashtablez_max_samples.
//
// WARNING
//
// Using this sampling API may cause sampled Swiss tables to use the global
// allocator (operator `new`) in addition to any custom allocator.  If you
// are using a table in an unusual circumstance where allocation or calling a
// linux syscall is unacceptable, this could interfere.
//
// This utility is internal-only. Use at your own risk.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/internal/inlined_vector.h, build_arm64/abseil-cpp/absl/functional/internal/function_ref.h, build_arm64/abseil-cpp/absl/status/internal/status_internal.h, build_arm64/abseil-cpp/absl/status/status.cc, build_arm64/abseil-cpp/absl/status/status_payload_printer.cc, build_arm64/abseil-cpp/absl/status/status_payload_printer.h, build_arm64/abseil-cpp/absl/strings/internal/cordz_functions.cc, build_arm64/abseil-cpp/absl/strings/internal/cordz_functions.h, build_arm64/abseil-cpp/absl/strings/internal/cordz_handle.cc, build_arm64/abseil-cpp/absl/strings/internal/cordz_handle.h, build_arm64/abseil-cpp/absl/strings/internal/cordz_info.cc, build_arm64/abseil-cpp/absl/strings/internal/cordz_info.h, build_arm64/abseil-cpp/absl/strings/internal/cordz_statistics.h

// Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/internal/layout.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
//                           MOTIVATION AND TUTORIAL
//
// If you want to put in a single heap allocation N doubles followed by M ints,
// it's easy if N and M are known at compile time.
//
//   struct S {
//     double a[N];
//     int b[M];
//   };
//
//   S* p = new S;
//
// But what if N and M are known only in run time? Class template Layout to the
// rescue! It's a portable generalization of the technique known as struct hack.
//
//   // This object will tell us everything we need to know about the memory
//   // layout of double[N] followed by int[M]. It's structurally identical to
//   // size_t[2] that stores N and M. It's very cheap to create.
//   const Layout<double, int> layout(N, M);
//
//   // Allocate enough memory for both arrays. `AllocSize()` tells us how much
//   // memory is needed. We are free to use any allocation function we want as
//   // long as it returns aligned memory.
//   std::unique_ptr<unsigned char[]> p(new unsigned char[layout.AllocSize()]);
//
//   // Obtain the pointer to the array of doubles.
//   // Equivalent to `reinterpret_cast<double*>(p.get())`.
//   //
//   // We could have written layout.Pointer<0>(p) instead. If all the types are
//   // unique you can use either form, but if some types are repeated you must
//   // use the index form.
//   double* a = layout.Pointer<double>(p.get());
//
//   // Obtain the pointer to the array of ints.
//   // Equivalent to `reinterpret_cast<int*>(p.get() + N * 8)`.
//   int* b = layout.Pointer<int>(p);
//
// If we are unable to specify sizes of all fields, we can pass as many sizes as
// we can to `Partial()`. In return, it'll allow us to access the fields whose
// locations and sizes can be computed from the provided information.
// `Partial()` comes in handy when the array sizes are embedded into the
// allocation.
//
//   // size_t[1] containing N, size_t[1] containing M, double[N], int[M].
//   using L = Layout<size_t, size_t, double, int>;
//
//   unsigned char* Allocate(size_t n, size_t m) {
//     const L layout(1, 1, n, m);
//     unsigned char* p = new unsigned char[layout.AllocSize()];
//     *layout.Pointer<0>(p) = n;
//     *layout.Pointer<1>(p) = m;
//     return p;
//   }
//
//   void Use(unsigned char* p) {
//     // First, extract N and M.
//     // Specify that the first array has only one element. Using `prefix` we
//     // can access the first two arrays but not more.
//     constexpr auto prefix = L::Partial(1);
//     size_t n = *prefix.Pointer<0>(p);
//     size_t m = *prefix.Pointer<1>(p);
//
//     // Now we can get pointers to the payload.
//     const L layout(1, 1, n, m);
//     double* a = layout.Pointer<double>(p);
//     int* b = layout.Pointer<int>(p);
//   }
//
// The layout we used above combines fixed-size with dynamically-sized fields.
// This is quite common. Layout is optimized for this use case and generates
// optimal code. All computations that can be performed at compile time are
// indeed performed at compile time.
//
// Efficiency tip: The order of fields matters. In `Layout<T1, ..., TN>` try to
// ensure that `alignof(T1) >= ... >= alignof(TN)`. This way you'll have no
// padding in between arrays.
//
// You can manually override the alignment of an array by wrapping the type in
// `Aligned<T, N>`. `Layout<..., Aligned<T, N>, ...>` has exactly the same API
// and behavior as `Layout<..., T, ...>` except that the first element of the
// array of `T` is aligned to `N` (the rest of the elements follow without
// padding). `N` cannot be less than `alignof(T)`.
//
// `AllocSize()` and `Pointer()` are the most basic methods for dealing with
// memory layouts. Check out the reference or code below to discover more.
//
//                            EXAMPLE
//
//   // Immutable move-only string with sizeof equal to sizeof(void*). The
//   // string size and the characters are kept in the same heap allocation.
//   class CompactString {
//    public:
//     CompactString(const char* s = "") {
//       const size_t size = strlen(s);
//       // size_t[1] followed by char[size + 1].
//       const L layout(1, size + 1);
//       p_.reset(new unsigned char[layout.AllocSize()]);
//       // If running under ASAN, mark the padding bytes, if any, to catch
//       // memory errors.
//       layout.PoisonPadding(p_.get());
//       // Store the size in the allocation.
//       *layout.Pointer<size_t>(p_.get()) = size;
//       // Store the characters in the allocation.
//       memcpy(layout.Pointer<char>(p_.get()), s, size + 1);
//     }
//
//     size_t size() const {
//       // Equivalent to reinterpret_cast<size_t&>(*p).
//       return *L::Partial().Pointer<size_t>(p_.get());
//     }
//
//     const char* c_str() const {
//       // Equivalent to reinterpret_cast<char*>(p.get() + sizeof(size_t)).
//       // The argument in Partial(1) specifies that we have size_t[1] in front
//       // of the characters.
//       return L::Partial(1).Pointer<char>(p_.get());
//     }
//
//    private:
//     // Our heap allocation contains a size_t followed by an array of chars.
//     using L = Layout<size_t, char>;
//     std::unique_ptr<unsigned char[]> p_;
//   };
//
//   int main() {
//     CompactString s = "hello";
//     assert(s.size() == 5);
//     assert(strcmp(s.c_str(), "hello") == 0);
//   }
//
//                               DOCUMENTATION
//
// The interface exported by this file consists of:
// - class `Layout<>` and its public members.
// - The public members of class `internal_layout::LayoutImpl<>`. That class
//   isn't intended to be used directly, and its name and template parameter
//   list are internal implementation details, but the class itself provides
//   most of the functionality in this file. See comments on its members for
//   detailed documentation.
//
// `Layout<T1,... Tn>::Partial(count1,..., countm)` (where `m` <= `n`) returns a
// `LayoutImpl<>` object. `Layout<T1,..., Tn> layout(count1,..., countn)`
// creates a `Layout` object, which exposes the same functionality by inheriting
// from `LayoutImpl<>`.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/container/internal/raw_hash_set.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// An open-addressing
// hashtable with quadratic probing.
//
// This is a low level hashtable on top of which different interfaces can be
// implemented, like flat_hash_set, node_hash_set, string_hash_set, etc.
//
// The table interface is similar to that of std::unordered_set. Notable
// differences are that most member functions support heterogeneous keys when
// BOTH the hash and eq functions are marked as transparent. They do so by
// providing a typedef called `is_transparent`.
//
// When heterogeneous lookup is enabled, functions that take key_type act as if
// they have an overload set like:
//
//   iterator find(const key_type& key);
//   template <class K>
//   iterator find(const K& key);
//
//   size_type erase(const key_type& key);
//   template <class K>
//   size_type erase(const K& key);
//
//   std::pair<iterator, iterator> equal_range(const key_type& key);
//   template <class K>
//   std::pair<iterator, iterator> equal_range(const K& key);
//
// When heterogeneous lookup is disabled, only the explicit `key_type` overloads
// exist.
//
// find() also supports passing the hash explicitly:
//
//   iterator find(const key_type& key, size_t hash);
//   template <class U>
//   iterator find(const U& key, size_t hash);
//
// In addition the pointer to element and iterator stability guarantees are
// weaker: all iterators and pointers are invalidated after a new element is
// inserted.
//
// IMPLEMENTATION DETAILS
//
// # Table Layout
//
// A raw_hash_set's backing array consists of control bytes followed by slots
// that may or may not contain objects.
//
// The layout of the backing array, for `capacity` slots, is thus, as a
// pseudo-struct:
//
//   struct BackingArray {
//     // The number of elements we can insert before growing the capacity.
//     size_t growth_left;
//     // Control bytes for the "real" slots.
//     ctrl_t ctrl[capacity];
//     // Always `ctrl_t::kSentinel`. This is used by iterators to find when to
//     // stop and serves no other purpose.
//     ctrl_t sentinel;
//     // A copy of the first `kWidth - 1` elements of `ctrl`. This is used so
//     // that if a probe sequence picks a value near the end of `ctrl`,
//     // `Group` will have valid control bytes to look at.
//     ctrl_t clones[kWidth - 1];
//     // The actual slot data.
//     slot_type slots[capacity];
//   };
//
// The length of this array is computed by `AllocSize()` below.
//
// Control bytes (`ctrl_t`) are bytes (collected into groups of a
// platform-specific size) that define the state of the corresponding slot in
// the slot array. Group manipulation is tightly optimized to be as efficient
// as possible: SSE and friends on x86, clever bit operations on other arches.
//
//      Group 1         Group 2        Group 3
// +---------------+---------------+---------------+
// | | | | | | | | | | | | | | | | | | | | | | | | |
// +---------------+---------------+---------------+
//
// Each control byte is either a special value for empty slots, deleted slots
// (sometimes called *tombstones*), and a special end-of-table marker used by
// iterators, or, if occupied, seven bits (H2) from the hash of the value in the
// corresponding slot.
//
// Storing control bytes in a separate array also has beneficial cache effects,
// since more logical slots will fit into a cache line.
//
// # Hashing
//
// We compute two separate hashes, `H1` and `H2`, from the hash of an object.
// `H1(hash(x))` is an index into `slots`, and essentially the starting point
// for the probe sequence. `H2(hash(x))` is a 7-bit value used to filter out
// objects that cannot possibly be the one we are looking for.
//
// # Table operations.
//
// The key operations are `insert`, `find`, and `erase`.
//
// Since `insert` and `erase` are implemented in terms of `find`, we describe
// `find` first. To `find` a value `x`, we compute `hash(x)`. From
// `H1(hash(x))` and the capacity, we construct a `probe_seq` that visits every
// group of slots in some interesting order.
//
// We now walk through these indices. At each index, we select the entire group
// starting with that index and extract potential candidates: occupied slots
// with a control byte equal to `H2(hash(x))`. If we find an empty slot in the
// group, we stop and return an error. Each candidate slot `y` is compared with
// `x`; if `x == y`, we are done and return `&y`; otherwise we continue to the
// next probe index. Tombstones effectively behave like full slots that never
// match the value we're looking for.
//
// The `H2` bits ensure when we compare a slot to an object with `==`, we are
// likely to have actually found the object.  That is, the chance is low that
// `==` is called and returns `false`.  Thus, when we search for an object, we
// are unlikely to call `==` many times.  This likelyhood can be analyzed as
// follows (assuming that H2 is a random enough hash function).
//
// Let's assume that there are `k` "wrong" objects that must be examined in a
// probe sequence.  For example, when doing a `find` on an object that is in the
// table, `k` is the number of objects between the start of the probe sequence
// and the final found object (not including the final found object).  The
// expected number of objects with an H2 match is then `k/128`.  Measurements
// and analysis indicate that even at high load factors, `k` is less than 32,
// meaning that the number of "false positive" comparisons we must perform is
// less than 1/8 per `find`.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/crc/crc32c.h

// Copyright 2022 The Abseil Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: crc32c.h
// -----------------------------------------------------------------------------
//
// This header file defines the API for computing CRC32C values as checksums
// for arbitrary sequences of bytes provided as a string buffer.
//
// The API includes the basic functions for computing such CRC32C values and
// some utility functions for performing more efficient mathematical
// computations using an existing checksum.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/debugging/internal/elf_mem_image.h, build_arm64/abseil-cpp/absl/synchronization/internal/create_thread_identity.h

/*
 * Copyright 2017 The Abseil Authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


==============================================================================

Sources: build_arm64/abseil-cpp/absl/debugging/internal/stacktrace_config.h

/*
 * Copyright 2017 The Abseil Authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.

 * Defines ABSL_STACKTRACE_INL_HEADER to the *-inl.h containing
 * actual unwinder implementation.
 * This header is "private" to stacktrace.cc.
 * DO NOT include it into any other files.
*/


==============================================================================

Sources: build_arm64/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Portable implementation - just use glibc
//
// Note:  The glibc implementation may cause a call to malloc.
// This can cause a deadlock in HeapProfiler.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/debugging/stacktrace.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: stacktrace.h
// -----------------------------------------------------------------------------
//
// This file contains routines to extract the current stack trace and associated
// stack frames. These functions are thread-safe and async-signal-safe.
//
// Note that stack trace functionality is platform dependent and requires
// additional support from the compiler/build system in most cases. (That is,
// this functionality generally only works on platforms/builds that have been
// specifically configured to support it.)
//
// Note: stack traces in Abseil that do not utilize a symbolizer will result in
// frames consisting of function addresses rather than human-readable function
// names. (See symbolize.h for information on symbolizing these values.)


==============================================================================

Sources: build_arm64/abseil-cpp/absl/debugging/symbolize.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: symbolize.h
// -----------------------------------------------------------------------------
//
// This file configures the Abseil symbolizer for use in converting instruction
// pointer addresses (program counters) into human-readable names (function
// calls, etc.) within Abseil code.
//
// The symbolizer may be invoked from several sources:
//
//   * Implicitly, through the installation of an Abseil failure signal handler.
//     (See failure_signal_handler.h for more information.)
//   * By calling `Symbolize()` directly on a program counter you obtain through
//     `absl::GetStackTrace()` or `absl::GetStackFrames()`. (See stacktrace.h
//     for more information.
//   * By calling `Symbolize()` directly on a program counter you obtain through
//     other means (which would be platform-dependent).
//
// In all of the above cases, the symbolizer must first be initialized before
// any program counter values can be symbolized. If you are installing a failure
// signal handler, initialize the symbolizer before you do so.
//
// Example:
//
//   int main(int argc, char** argv) {
//     // Initialize the Symbolizer before installing the failure signal handler
//     absl::InitializeSymbolizer(argv[0]);
//
//     // Now you may install the failure signal handler
//     absl::FailureSignalHandlerOptions options;
//     absl::InstallFailureSignalHandler(options);
//
//     // Start running your main program
//     ...
//     return 0;
//  }
//


==============================================================================

Sources: build_arm64/abseil-cpp/absl/flags/commandlineflag.cc, build_arm64/abseil-cpp/absl/flags/internal/commandlineflag.cc, build_arm64/abseil-cpp/absl/flags/internal/private_handle_accessor.cc, build_arm64/abseil-cpp/absl/flags/internal/private_handle_accessor.h, build_arm64/abseil-cpp/absl/flags/internal/sequence_lock.h

//
// Copyright 2020 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/flags/commandlineflag.h

//
// Copyright 2020 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: commandlineflag.h
// -----------------------------------------------------------------------------
//
// This header file defines the `CommandLineFlag`, which acts as a type-erased
// handle for accessing metadata about the Abseil Flag in question.
//
// Because an actual Abseil flag is of an unspecified type, you should not
// manipulate or interact directly with objects of that type. Instead, use the
// CommandLineFlag type as an intermediary.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/flags/config.h, build_arm64/abseil-cpp/absl/flags/flag.cc, build_arm64/abseil-cpp/absl/flags/internal/path_util.h, build_arm64/abseil-cpp/absl/flags/internal/program_name.cc, build_arm64/abseil-cpp/absl/flags/internal/program_name.h, build_arm64/abseil-cpp/absl/flags/marshalling.cc, build_arm64/abseil-cpp/absl/flags/usage_config.cc

//
//  Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/flags/flag.h

//
//  Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: flag.h
// -----------------------------------------------------------------------------
//
// This header file defines the `absl::Flag<T>` type for holding command-line
// flag data, and abstractions to create, get and set such flag data.
//
// It is important to note that this type is **unspecified** (an implementation
// detail) and you do not construct or manipulate actual `absl::Flag<T>`
// instances. Instead, you define and declare flags using the
// `ABSL_FLAG()` and `ABSL_DECLARE_FLAG()` macros, and get and set flag values
// using the `absl::GetFlag()` and `absl::SetFlag()` functions.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/flags/internal/commandlineflag.h, build_arm64/abseil-cpp/absl/flags/internal/flag.cc, build_arm64/abseil-cpp/absl/flags/internal/flag.h, build_arm64/abseil-cpp/absl/flags/internal/registry.h

//
// Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/flags/marshalling.h

//
//  Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: marshalling.h
// -----------------------------------------------------------------------------
//
// This header file defines the API for extending Abseil flag support to
// custom types, and defines the set of overloads for fundamental types.
//
// Out of the box, the Abseil flags library supports the following types:
//
// * `bool`
// * `int16_t`
// * `uint16_t`
// * `int32_t`
// * `uint32_t`
// * `int64_t`
// * `uint64_t`
// * `float`
// * `double`
// * `std::string`
// * `std::vector<std::string>`
// * `std::optional<T>`
// * `absl::LogSeverity` (provided natively for layering reasons)
//
// Note that support for integral types is implemented using overloads for
// variable-width fundamental types (`short`, `int`, `long`, etc.). However,
// you should prefer the fixed-width integral types (`int32_t`, `uint64_t`,
// etc.) we've noted above within flag definitions.
//
// In addition, several Abseil libraries provide their own custom support for
// Abseil flags. Documentation for these formats is provided in the type's
// `AbslParseFlag()` definition.
//
// The Abseil time library provides the following support for civil time values:
//
// * `absl::CivilSecond`
// * `absl::CivilMinute`
// * `absl::CivilHour`
// * `absl::CivilDay`
// * `absl::CivilMonth`
// * `absl::CivilYear`
//
// and also provides support for the following absolute time values:
//
// * `absl::Duration`
// * `absl::Time`
//
// Additional support for Abseil types will be noted here as it is added.
//
// You can also provide your own custom flags by adding overloads for
// `AbslParseFlag()` and `AbslUnparseFlag()` to your type definitions. (See
// below.)
//
// -----------------------------------------------------------------------------
// Optional Flags
// -----------------------------------------------------------------------------
//
// The Abseil flags library supports flags of type `std::optional<T>` where
// `T` is a type of one of the supported flags. We refer to this flag type as
// an "optional flag." An optional flag is either "valueless", holding no value
// of type `T` (indicating that the flag has not been set) or a value of type
// `T`. The valueless state in C++ code is represented by a value of
// `std::nullopt` for the optional flag.
//
// Using `std::nullopt` as an optional flag's default value allows you to check
// whether such a flag was ever specified on the command line:
//
//   if (absl::GetFlag(FLAGS_foo).has_value()) {
//     // flag was set on command line
//   } else {
//     // flag was not passed on command line
//   }
//
// Using an optional flag in this manner avoids common workarounds for
// indicating such an unset flag (such as using sentinel values to indicate this
// state).
//
// An optional flag also allows a developer to pass a flag in an "unset"
// valueless state on the command line, allowing the flag to later be set in
// binary logic. An optional flag's valueless state is indicated by the special
// notation of passing the value as an empty string through the syntax `--flag=`
// or `--flag ""`.
//
//   $ binary_with_optional --flag_in_unset_state=
//   $ binary_with_optional --flag_in_unset_state ""
//
// Note: as a result of the above syntax requirements, an optional flag cannot
// be set to a `T` of any value which unparses to the empty string.
//
// -----------------------------------------------------------------------------
// Adding Type Support for Abseil Flags
// -----------------------------------------------------------------------------
//
// To add support for your user-defined type, add overloads of `AbslParseFlag()`
// and `AbslUnparseFlag()` as free (non-member) functions to your type. If `T`
// is a class type, these functions can be friend function definitions. These
// overloads must be added to the same namespace where the type is defined, so
// that they can be discovered by Argument-Dependent Lookup (ADL).
//
// Example:
//
//   namespace foo {
//
//   enum OutputMode { kPlainText, kHtml };
//
//   // AbslParseFlag converts from a string to OutputMode.
//   // Must be in same namespace as OutputMode.
//
//   // Parses an OutputMode from the command line flag value `text`. Returns
//   // `true` and sets `*mode` on success; returns `false` and sets `*error`
//   // on failure.
//   bool AbslParseFlag(absl::string_view text,
//                      OutputMode* mode,
//                      std::string* error) {
//     if (text == "plaintext") {
//       *mode = kPlainText;
//       return true;
//     }
//     if (text == "html") {
//       *mode = kHtml;
//      return true;
//     }
//     *error = "unknown value for enumeration";
//     return false;
//  }
//
//  // AbslUnparseFlag converts from an OutputMode to a string.
//  // Must be in same namespace as OutputMode.
//
//  // Returns a textual flag value corresponding to the OutputMode `mode`.
//  std::string AbslUnparseFlag(OutputMode mode) {
//    switch (mode) {
//      case kPlainText: return "plaintext";
//      case kHtml: return "html";
//    }
//    return absl::StrCat(mode);
//  }
//
// Notice that neither `AbslParseFlag()` nor `AbslUnparseFlag()` are class
// members, but free functions. `AbslParseFlag/AbslUnparseFlag()` overloads
// for a type should only be declared in the same file and namespace as said
// type. The proper `AbslParseFlag/AbslUnparseFlag()` implementations for a
// given type will be discovered via Argument-Dependent Lookup (ADL).
//
// `AbslParseFlag()` may need, in turn, to parse simpler constituent types
// using `absl::ParseFlag()`. For example, a custom struct `MyFlagType`
// consisting of a `std::pair<int, std::string>` would add an `AbslParseFlag()`
// overload for its `MyFlagType` like so:
//
// Example:
//
//   namespace my_flag_type {
//
//   struct MyFlagType {
//     std::pair<int, std::string> my_flag_data;
//   };
//
//   bool AbslParseFlag(absl::string_view text, MyFlagType* flag,
//                      std::string* err);
//
//   std::string AbslUnparseFlag(const MyFlagType&);
//
//   // Within the implementation, `AbslParseFlag()` will, in turn invoke
//   // `absl::ParseFlag()` on its constituent `int` and `std::string` types
//   // (which have built-in Abseil flag support).
//
//   bool AbslParseFlag(absl::string_view text, MyFlagType* flag,
//                      std::string* err) {
//     std::pair<absl::string_view, absl::string_view> tokens =
//         absl::StrSplit(text, ',');
//     if (!absl::ParseFlag(tokens.first, &flag->my_flag_data.first, err))
//         return false;
//     if (!absl::ParseFlag(tokens.second, &flag->my_flag_data.second, err))
//         return false;
//     return true;
//   }
//
//   // Similarly, for unparsing, we can simply invoke `absl::UnparseFlag()` on
//   // the constituent types.
//   std::string AbslUnparseFlag(const MyFlagType& flag) {
//     return absl::StrCat(absl::UnparseFlag(flag.my_flag_data.first),
//                         ",",
//                         absl::UnparseFlag(flag.my_flag_data.second));
//   }


==============================================================================

Sources: build_arm64/abseil-cpp/absl/flags/reflection.cc

//
//  Copyright 2020 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/flags/reflection.h

//
// Copyright 2020 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: reflection.h
// -----------------------------------------------------------------------------
//
// This file defines the routines to access and operate on an Abseil Flag's
// reflection handle.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/flags/usage_config.h

//
//  Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: usage_config.h
// -----------------------------------------------------------------------------
//
// This file defines the main usage reporting configuration interfaces and
// documents Abseil's supported built-in usage flags. If these flags are found
// when parsing a command-line, Abseil will exit the program and display
// appropriate help messages.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/functional/any_invocable.h

// Copyright 2022 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: any_invocable.h
// -----------------------------------------------------------------------------
//
// This header file defines an `absl::AnyInvocable` type that assumes ownership
// and wraps an object of an invocable type. (Invocable types adhere to the
// concept specified in https://en.cppreference.com/w/cpp/concepts/invocable.)
//
// In general, prefer `absl::AnyInvocable` when you need a type-erased
// function parameter that needs to take ownership of the type.
//
// NOTE: `absl::AnyInvocable` is similar to the C++23 `std::move_only_function`
// abstraction, but has a slightly different API and is not designed to be a
// drop-in replacement or C++11-compatible backfill of that type.
//
// Credits to Matt Calabrese (https://github.com/mattcalabrese) for the original
// implementation.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/functional/function_ref.h

// Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: function_ref.h
// -----------------------------------------------------------------------------
//
// This header file defines the `absl::FunctionRef` type for holding a
// non-owning reference to an object of any invocable type. This function
// reference is typically most useful as a type-erased argument type for
// accepting function types that neither take ownership nor copy the type; using
// the reference type in this case avoids a copy and an allocation. Best
// practices of other non-owning reference-like objects (such as
// `absl::string_view`) apply here.
//
//  An `absl::FunctionRef` is similar in usage to a `std::function` but has the
//  following differences:
//
//  * It doesn't own the underlying object.
//  * It doesn't have a null or empty state.
//  * It never performs deep copies or allocations.
//  * It's much faster and cheaper to construct.
//  * It's trivially copyable and destructable.
//
// Generally, `absl::FunctionRef` should not be used as a return value, data
// member, or to initialize a `std::function`. Such usages will often lead to
// problematic lifetime issues. Once you convert something to an
// `absl::FunctionRef` you cannot make a deep copy later.
//
// This class is suitable for use wherever a "const std::function<>&"
// would be used without making a copy. ForEach functions and other versions of
// the visitor pattern are a good example of when this class should be used.
//
// This class is trivial to copy and should be passed by value.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/functional/internal/any_invocable.h

// Copyright 2022 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Implementation details for `absl::AnyInvocable`


==============================================================================

Sources: build_arm64/abseil-cpp/absl/hash/hash.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: hash.h
// -----------------------------------------------------------------------------
//
// This header file defines the Abseil `hash` library and the Abseil hashing
// framework. This framework consists of the following:
//
//   * The `absl::Hash` functor, which is used to invoke the hasher within the
//     Abseil hashing framework. `absl::Hash<T>` supports most basic types and
//     a number of Abseil types out of the box.
//   * `AbslHashValue`, an extension point that allows you to extend types to
//     support Abseil hashing without requiring you to define a hashing
//     algorithm.
//   * `HashState`, a type-erased class which implements the manipulation of the
//     hash state (H) itself; contains member functions `combine()`,
//     `combine_contiguous()`, and `combine_unordered()`; and which you can use
//     to contribute to an existing hash state when hashing your types.
//
// Unlike `std::hash` or other hashing frameworks, the Abseil hashing framework
// provides most of its utility by abstracting away the hash algorithm (and its
// implementation) entirely. Instead, a type invokes the Abseil hashing
// framework by simply combining its state with the state of known, hashable
// types. Hashing of that combined state is separately done by `absl::Hash`.
//
// One should assume that a hash algorithm is chosen randomly at the start of
// each process.  E.g., `absl::Hash<int>{}(9)` in one process and
// `absl::Hash<int>{}(9)` in another process are likely to differ.
//
// `absl::Hash` may also produce different values from different dynamically
// loaded libraries. For this reason, `absl::Hash` values must never cross
// boundaries in dynamically loaded libraries (including when used in types like
// hash containers.)
//
// `absl::Hash` is intended to strongly mix input bits with a target of passing
// an [Avalanche Test](https://en.wikipedia.org/wiki/Avalanche_effect).
//
// Example:
//
//   // Suppose we have a class `Circle` for which we want to add hashing:
//   class Circle {
//    public:
//     ...
//    private:
//     std::pair<int, int> center_;
//     int radius_;
//   };
//
//   // To add hashing support to `Circle`, we simply need to add a free
//   // (non-member) function `AbslHashValue()`, and return the combined hash
//   // state of the existing hash state and the class state. You can add such a
//   // free function using a friend declaration within the body of the class:
//   class Circle {
//    public:
//     ...
//     template <typename H>
//     friend H AbslHashValue(H h, const Circle& c) {
//       return H::combine(std::move(h), c.center_, c.radius_);
//     }
//     ...
//   };
//
// For more information, see Adding Type Support to `absl::Hash` below.
//


==============================================================================

Sources: build_arm64/abseil-cpp/absl/hash/internal/city.cc

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// This file provides CityHash64() and related functions.
//
// It's probably possible to create even faster hash functions by
// writing a program that systematically explores some of the space of
// possible hash functions, by using SIMD instructions, or by
// compromising on hash quality.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/hash/internal/city.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// https://code.google.com/p/cityhash/
//
// This file provides a few functions for hashing strings.  All of them are
// high-quality functions in the sense that they pass standard tests such
// as Austin Appleby's SMHasher.  They are also fast.
//
// For 64-bit x86 code, on short strings, we don't know of anything faster than
// CityHash64 that is of comparable quality.  We believe our nearest competitor
// is Murmur3.  For 64-bit x86 code, CityHash64 is an excellent choice for hash
// tables and most other hashing (excluding cryptography).
//
// For 32-bit x86 code, we don't know of anything faster than CityHash32 that
// is of comparable quality.  We believe our nearest competitor is Murmur3A.
// (On 64-bit CPUs, it is typically faster to use the other CityHash variants.)
//
// Functions in the CityHash family are not suitable for cryptography.
//
// Please see CityHash's README file for more details on our performance
// measurements and so on.
//
// WARNING: This code has been only lightly tested on big-endian platforms!
// It is known to work well on little-endian platforms that have a small penalty
// for unaligned reads, such as current Intel and AMD moderate-to-high-end CPUs.
// It should work on all 32-bit and 64-bit platforms that allow unaligned reads;
// bug reports are welcome.
//
// By the way, for some hash functions, given strings a and b, the hash
// of a+b is easily derived from the hashes of a and b.  This property
// doesn't hold for any hash functions in this file.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/hash/internal/hash.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: hash.h
// -----------------------------------------------------------------------------
//


==============================================================================

Sources: build_arm64/abseil-cpp/absl/hash/internal/low_level_hash.cc, build_arm64/abseil-cpp/absl/numeric/internal/bits.h, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_flat.h, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_ring.cc, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_ring.h

// Copyright 2020 The Abseil Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/hash/internal/low_level_hash.h

// Copyright 2020 The Abseil Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// This file provides the Google-internal implementation of LowLevelHash.
//
// LowLevelHash is a fast hash function for hash tables, the fastest we've
// currently (late 2020) found that passes the SMHasher tests. The algorithm
// relies on intrinsic 128-bit multiplication for speed. This is not meant to be
// secure - just fast.
//
// It is closely based on a version of wyhash, but does not maintain or
// guarantee future compatibility with it.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/memory/memory.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: memory.h
// -----------------------------------------------------------------------------
//
// This header file contains utility functions for managing the creation and
// conversion of smart pointers. This file is an extension to the C++
// standard <memory> library header file.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/meta/type_traits.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// type_traits.h
// -----------------------------------------------------------------------------
//
// This file contains C++11-compatible versions of standard <type_traits> API
// functions for determining the characteristics of types. Such traits can
// support type inference, classification, and transformation, as well as
// make it easier to write templates based on generic type behavior.
//
// See https://en.cppreference.com/w/cpp/header/type_traits
//
// WARNING: use of many of the constructs in this header will count as "complex
// template metaprogramming", so before proceeding, please carefully consider
// https://google.github.io/styleguide/cppguide.html#Template_metaprogramming
//
// WARNING: using template metaprogramming to detect or depend on API
// features is brittle and not guaranteed. Neither the standard library nor
// Abseil provides any guarantee that APIs are stable in the face of template
// metaprogramming. Use with caution.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/numeric/bits.h

// Copyright 2020 The Abseil Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: bits.h
// -----------------------------------------------------------------------------
//
// This file contains implementations of C++20's bitwise math functions, as
// defined by:
//
// P0553R4:
//  http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0553r4.html
// P0556R3:
//  http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0556r3.html
// P1355R2:
//  http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1355r2.html
// P1956R1:
//  http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1956r1.pdf
//
// When using a standard library that implements these functions, we use the
// standard library's implementation.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/numeric/int128.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: int128.h
// -----------------------------------------------------------------------------
//
// This header file defines 128-bit integer types, `uint128` and `int128`.
//
// TODO(absl-team): This module is inconsistent as many inline `uint128` methods
// are defined in this file, while many inline `int128` methods are defined in
// the `int128_*_intrinsic.inc` files.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/numeric/int128_have_intrinsic.inc, build_arm64/abseil-cpp/absl/strings/internal/str_format/extension.cc

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/numeric/internal/representation.h, build_arm64/abseil-cpp/absl/strings/cord_analysis.cc, build_arm64/abseil-cpp/absl/strings/cord_analysis.h, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_btree.cc, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_btree.h, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_consume.cc, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_consume.h, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_crc.cc, build_arm64/abseil-cpp/absl/strings/internal/cord_rep_crc.h, build_arm64/abseil-cpp/absl/strings/internal/cordz_update_scope.h, build_arm64/abseil-cpp/absl/strings/internal/cordz_update_tracker.h

// Copyright 2021 The Abseil Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/profiling/internal/exponential_biased.cc, build_arm64/abseil-cpp/absl/profiling/internal/exponential_biased.h

// Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/profiling/internal/sample_recorder.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: sample_recorder.h
// -----------------------------------------------------------------------------
//
// This header file defines a lock-free linked list for recording samples
// collected from a random/stochastic process.
//
// This utility is internal-only. Use at your own risk.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/status/status.h

// Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: status.h
// -----------------------------------------------------------------------------
//
// This header file defines the Abseil `status` library, consisting of:
//
//   * An `absl::Status` class for holding error handling information
//   * A set of canonical `absl::StatusCode` error codes, and associated
//     utilities for generating and propagating status codes.
//   * A set of helper functions for creating status codes and checking their
//     values
//
// Within Google, `absl::Status` is the primary mechanism for communicating
// errors in C++, and is used to represent error state in both in-process
// library calls as well as RPC calls. Some of these errors may be recoverable,
// but others may not. Most functions that can produce a recoverable error
// should be designed to return an `absl::Status` (or `absl::StatusOr`).
//
// Example:
//
// absl::Status myFunction(absl::string_view fname, ...) {
//   ...
//   // encounter error
//   if (error condition) {
//     return absl::InvalidArgumentError("bad mode");
//   }
//   // else, return OK
//   return absl::OkStatus();
// }
//
// An `absl::Status` is designed to either return "OK" or one of a number of
// different error codes, corresponding to typical error conditions.
// In almost all cases, when using `absl::Status` you should use the canonical
// error codes (of type `absl::StatusCode`) enumerated in this header file.
// These canonical codes are understood across the codebase and will be
// accepted across all API and RPC boundaries.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/ascii.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: ascii.h
// -----------------------------------------------------------------------------
//
// This package contains functions operating on characters and strings
// restricted to standard ASCII. These include character classification
// functions analogous to those found in the ANSI C Standard Library <ctype.h>
// header file.
//
// C++ implementations provide <ctype.h> functionality based on their
// C environment locale. In general, reliance on such a locale is not ideal, as
// the locale standard is problematic (and may not return invariant information
// for the same character set, for example). These `ascii_*()` functions are
// hard-wired for standard ASCII, much faster, and guaranteed to behave
// consistently.  They will never be overloaded, nor will their function
// signature change.
//
// `ascii_isalnum()`, `ascii_isalpha()`, `ascii_isascii()`, `ascii_isblank()`,
// `ascii_iscntrl()`, `ascii_isdigit()`, `ascii_isgraph()`, `ascii_islower()`,
// `ascii_isprint()`, `ascii_ispunct()`, `ascii_isspace()`, `ascii_isupper()`,
// `ascii_isxdigit()`
//   Analogous to the <ctype.h> functions with similar names, these
//   functions take an unsigned char and return a bool, based on whether the
//   character matches the condition specified.
//
//   If the input character has a numerical value greater than 127, these
//   functions return `false`.
//
// `ascii_tolower()`, `ascii_toupper()`
//   Analogous to the <ctype.h> functions with similar names, these functions
//   take an unsigned char and return a char.
//
//   If the input character is not an ASCII {lower,upper}-case letter (including
//   numerical values greater than 127) then the functions return the same value
//   as the input character.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/cord.h

// Copyright 2020 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: cord.h
// -----------------------------------------------------------------------------
//
// This file defines the `absl::Cord` data structure and operations on that data
// structure. A Cord is a string-like sequence of characters optimized for
// specific use cases. Unlike a `std::string`, which stores an array of
// contiguous characters, Cord data is stored in a structure consisting of
// separate, reference-counted "chunks."
//
// Because a Cord consists of these chunks, data can be added to or removed from
// a Cord during its lifetime. Chunks may also be shared between Cords. Unlike a
// `std::string`, a Cord can therefore accommodate data that changes over its
// lifetime, though it's not quite "mutable"; it can change only in the
// attachment, detachment, or rearrangement of chunks of its constituent data.
//
// A Cord provides some benefit over `std::string` under the following (albeit
// narrow) circumstances:
//
//   * Cord data is designed to grow and shrink over a Cord's lifetime. Cord
//     provides efficient insertions and deletions at the start and end of the
//     character sequences, avoiding copies in those cases. Static data should
//     generally be stored as strings.
//   * External memory consisting of string-like data can be directly added to
//     a Cord without requiring copies or allocations.
//   * Cord data may be shared and copied cheaply. Cord provides a copy-on-write
//     implementation and cheap sub-Cord operations. Copying a Cord is an O(1)
//     operation.
//
// As a consequence to the above, Cord data is generally large. Small data
// should generally use strings, as construction of a Cord requires some
// overhead. Small Cords (<= 15 bytes) are represented inline, but most small
// Cords are expected to grow over their lifetimes.
//
// Note that because a Cord is made up of separate chunked data, random access
// to character data within a Cord is slower than within a `std::string`.
//
// Thread Safety
//
// Cord has the same thread-safety properties as many other types like
// std::string, std::vector<>, int, etc -- it is thread-compatible. In
// particular, if threads do not call non-const methods, then it is safe to call
// const methods without synchronization. Copying a Cord produces a new instance
// that can be used concurrently with the original in arbitrary ways.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/cord_buffer.h

// Copyright 2021 The Abseil Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: cord_buffer.h
// -----------------------------------------------------------------------------
//
// This file defines an `absl::CordBuffer` data structure to hold data for
// eventual inclusion within an existing `Cord` data structure. Cord buffers are
// useful for building large Cords that may require custom allocation of its
// associated memory.
//


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/escaping.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: escaping.h
// -----------------------------------------------------------------------------
//
// This header file contains string utilities involved in escaping and
// unescaping strings in various ways.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/internal/char_map.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Character Map Class
//
// A fast, bit-vector map for 8-bit unsigned characters.
// This class is useful for non-character purposes as well.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/internal/cord_internal.h

// Copyright 2021 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/internal/str_format/output.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Output extension hooks for the Format library.
// `internal::InvokeFlush` calls the appropriate flush function for the
// specified output argument.
// `BufferRawSink` is a simple output sink for a char buffer. Used by SnprintF.
// `FILERawSink` is a std::FILE* based sink. Used by PrintF and FprintF.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/internal/utf8.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// UTF8 utilities, implemented to reduce dependencies.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/match.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: match.h
// -----------------------------------------------------------------------------
//
// This file contains simple utilities for performing string matching checks.
// All of these function parameters are specified as `absl::string_view`,
// meaning that these functions can accept `std::string`, `absl::string_view` or
// NUL-terminated C-style strings.
//
// Examples:
//   std::string s = "foo";
//   absl::string_view sv = "f";
//   assert(absl::StrContains(s, sv));
//
// Note: The order of parameters in these functions is designed to mimic the
// order an equivalent member function would exhibit;
// e.g. `s.Contains(x)` ==> `absl::StrContains(s, x).


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/numbers.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: numbers.h
// -----------------------------------------------------------------------------
//
// This package contains functions for converting strings to numbers. For
// converting numbers to strings, use `StrCat()` or `StrAppend()` in str_cat.h,
// which automatically detect and convert most number values appropriately.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/str_cat.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: str_cat.h
// -----------------------------------------------------------------------------
//
// This package contains functions for efficiently concatenating and appending
// strings: `StrCat()` and `StrAppend()`. Most of the work within these routines
// is actually handled through use of a special AlphaNum type, which was
// designed to be used as a parameter type that efficiently manages conversion
// to strings and avoids copies in the above operations.
//
// Any routine accepting either a string or a number may accept `AlphaNum`.
// The basic idea is that by accepting a `const AlphaNum &` as an argument
// to your function, your callers will automagically convert bools, integers,
// and floating point values to strings for you.
//
// NOTE: Use of `AlphaNum` outside of the //absl/strings package is unsupported
// except for the specific case of function parameters of type `AlphaNum` or
// `const AlphaNum &`. In particular, instantiating `AlphaNum` directly as a
// stack variable is not supported.
//
// Conversion from 8-bit values is not accepted because, if it were, then an
// attempt to pass ':' instead of ":" might result in a 58 ending up in your
// result.
//
// Bools convert to "0" or "1". Pointers to types other than `char *` are not
// valid inputs. No output is generated for null `char *` pointers.
//
// Floating point numbers are formatted with six-digit precision, which is
// the default for "std::cout <<" or printf "%g" (the same as "%.6g").
//
// You can convert to hexadecimal output rather than decimal output using the
// `Hex` type contained here. To do so, pass `Hex(my_int)` as a parameter to
// `StrCat()` or `StrAppend()`. You may specify a minimum hex field width using
// a `PadSpec` enum.
//
// User-defined types can be formatted with the `AbslStringify()` customization
// point. The API relies on detecting an overload in the user-defined type's
// namespace of a free (non-member) `AbslStringify()` function as a definition
// (typically declared as a friend and implemented in-line.
// with the following signature:
//
// class MyClass { ... };
//
// template <typename Sink>
// void AbslStringify(Sink& sink, const MyClass& value);
//
// An `AbslStringify()` overload for a type should only be declared in the same
// file and namespace as said type.
//
// Note that `AbslStringify()` also supports use with `absl::StrFormat()` and
// `absl::Substitute()`.
//
// Example:
//
// struct Point {
//   // To add formatting support to `Point`, we simply need to add a free
//   // (non-member) function `AbslStringify()`. This method specifies how
//   // Point should be printed when absl::StrCat() is called on it. You can add
//   // such a free function using a friend declaration within the body of the
//   // class. The sink parameter is a templated type to avoid requiring
//   // dependencies.
//   template <typename Sink> friend void AbslStringify(Sink&
//   sink, const Point& p) {
//     absl::Format(&sink, "(%v, %v)", p.x, p.y);
//   }
//
//   int x;
//   int y;
// };
// -----------------------------------------------------------------------------


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/str_format.h

//
// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: str_format.h
// -----------------------------------------------------------------------------
//
// The `str_format` library is a typesafe replacement for the family of
// `printf()` string formatting routines within the `<cstdio>` standard library
// header. Like the `printf` family, `str_format` uses a "format string" to
// perform argument substitutions based on types. See the `FormatSpec` section
// below for format string documentation.
//
// Example:
//
//   std::string s = absl::StrFormat(
//                      "%s %s You have $%d!", "Hello", name, dollars);
//
// The library consists of the following basic utilities:
//
//   * `absl::StrFormat()`, a type-safe replacement for `std::sprintf()`, to
//     write a format string to a `string` value.
//   * `absl::StrAppendFormat()` to append a format string to a `string`
//   * `absl::StreamFormat()` to more efficiently write a format string to a
//     stream, such as`std::cout`.
//   * `absl::PrintF()`, `absl::FPrintF()` and `absl::SNPrintF()` as
//     drop-in replacements for `std::printf()`, `std::fprintf()` and
//     `std::snprintf()`.
//
//     Note: An `absl::SPrintF()` drop-in replacement is not supported as it
//     is generally unsafe due to buffer overflows. Use `absl::StrFormat` which
//     returns the string as output instead of expecting a pre-allocated buffer.
//
// Additionally, you can provide a format string (and its associated arguments)
// using one of the following abstractions:
//
//   * A `FormatSpec` class template fully encapsulates a format string and its
//     type arguments and is usually provided to `str_format` functions as a
//     variadic argument of type `FormatSpec<Arg...>`. The `FormatSpec<Args...>`
//     template is evaluated at compile-time, providing type safety.
//   * A `ParsedFormat` instance, which encapsulates a specific, pre-compiled
//     format string for a specific set of type(s), and which can be passed
//     between API boundaries. (The `FormatSpec` type should not be used
//     directly except as an argument type for wrapper functions.)
//
// The `str_format` library provides the ability to output its format strings to
// arbitrary sink types:
//
//   * A generic `Format()` function to write outputs to arbitrary sink types,
//     which must implement a `FormatRawSink` interface.
//
//   * A `FormatUntyped()` function that is similar to `Format()` except it is
//     loosely typed. `FormatUntyped()` is not a template and does not perform
//     any compile-time checking of the format string; instead, it returns a
//     boolean from a runtime check.
//
// In addition, the `str_format` library provides extension points for
// augmenting formatting to new types.  See "StrFormat Extensions" below.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/str_join.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: str_join.h
// -----------------------------------------------------------------------------
//
// This header file contains functions for joining a range of elements and
// returning the result as a std::string. StrJoin operations are specified by
// passing a range, a separator string to use between the elements joined, and
// an optional Formatter responsible for converting each argument in the range
// to a string. If omitted, a default `AlphaNumFormatter()` is called on the
// elements to be joined, using the same formatting that `absl::StrCat()` uses.
// This package defines a number of default formatters, and you can define your
// own implementations.
//
// Ranges are specified by passing a container with `std::begin()` and
// `std::end()` iterators, container-specific `begin()` and `end()` iterators, a
// brace-initialized `std::initializer_list`, or a `std::tuple` of heterogeneous
// objects. The separator string is specified as an `absl::string_view`.
//
// Because the default formatter uses the `absl::AlphaNum` class,
// `absl::StrJoin()`, like `absl::StrCat()`, will work out-of-the-box on
// collections of strings, ints, floats, doubles, etc.
//
// Example:
//
//   std::vector<std::string> v = {"foo", "bar", "baz"};
//   std::string s = absl::StrJoin(v, "-");
//   EXPECT_EQ("foo-bar-baz", s);
//
// See comments on the `absl::StrJoin()` function for more examples.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/str_replace.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: str_replace.h
// -----------------------------------------------------------------------------
//
// This file defines `absl::StrReplaceAll()`, a general-purpose string
// replacement function designed for large, arbitrary text substitutions,
// especially on strings which you are receiving from some other system for
// further processing (e.g. processing regular expressions, escaping HTML
// entities, etc.). `StrReplaceAll` is designed to be efficient even when only
// one substitution is being performed, or when substitution is rare.
//
// If the string being modified is known at compile-time, and the substitutions
// vary, `absl::Substitute()` may be a better choice.
//
// Example:
//
// std::string html_escaped = absl::StrReplaceAll(user_input, {
//                                                {"&", "&amp;"},
//                                                {"<", "&lt;"},
//                                                {">", "&gt;"},
//                                                {"\"", "&quot;"},
//                                                {"'", "&#39;"}});


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/str_split.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: str_split.h
// -----------------------------------------------------------------------------
//
// This file contains functions for splitting strings. It defines the main
// `StrSplit()` function, several delimiters for determining the boundaries on
// which to split the string, and predicates for filtering delimited results.
// `StrSplit()` adapts the returned collection to the type specified by the
// caller.
//
// Example:
//
//   // Splits the given string on commas. Returns the results in a
//   // vector of strings.
//   std::vector<std::string> v = absl::StrSplit("a,b,c", ',');
//   // Can also use ","
//   // v[0] == "a", v[1] == "b", v[2] == "c"
//
// See StrSplit() below for more information.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/string_view.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: string_view.h
// -----------------------------------------------------------------------------
//
// This file contains the definition of the `absl::string_view` class. A
// `string_view` points to a contiguous span of characters, often part or all of
// another `std::string`, double-quoted string literal, character array, or even
// another `string_view`.
//
// This `absl::string_view` abstraction is designed to be a drop-in
// replacement for the C++17 `std::string_view` abstraction.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/strip.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: strip.h
// -----------------------------------------------------------------------------
//
// This file contains various functions for stripping substrings from a string.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/strings/substitute.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: substitute.h
// -----------------------------------------------------------------------------
//
// This package contains functions for efficiently performing string
// substitutions using a format string with positional notation:
// `Substitute()` and `SubstituteAndAppend()`.
//
// Unlike printf-style format specifiers, `Substitute()` functions do not need
// to specify the type of the substitution arguments. Supported arguments
// following the format string, such as strings, string_views, ints,
// floats, and bools, are automatically converted to strings during the
// substitution process. (See below for a full list of supported types.)
//
// `Substitute()` does not allow you to specify *how* to format a value, beyond
// the default conversion to string. For example, you cannot format an integer
// in hex.
//
// The format string uses positional identifiers indicated by a dollar sign ($)
// and single digit positional ids to indicate which substitution arguments to
// use at that location within the format string.
//
// A '$$' sequence in the format string causes a literal '$' character to be
// output.
//
// Example 1:
//   std::string s = Substitute("$1 purchased $0 $2 for $$10. Thanks $1!",
//                              5, "Bob", "Apples");
//   EXPECT_EQ("Bob purchased 5 Apples for $10. Thanks Bob!", s);
//
// Example 2:
//   std::string s = "Hi. ";
//   SubstituteAndAppend(&s, "My name is $0 and I am $1 years old.", "Bob", 5);
//   EXPECT_EQ("Hi. My name is Bob and I am 5 years old.", s);
//
// Supported types:
//   * absl::string_view, std::string, const char* (null is equivalent to "")
//   * int32_t, int64_t, uint32_t, uint64_t
//   * float, double
//   * bool (Printed as "true" or "false")
//   * pointer types other than char* (Printed as "0x<lower case hex string>",
//     except that null is printed as "NULL")
//   * user-defined types via the `AbslStringify()` customization point. See the
//     documentation for `absl::StrCat` for an explanation on how to use this.
//
// If an invalid format string is provided, Substitute returns an empty string
// and SubstituteAndAppend does not change the provided output string.
// A format string is invalid if it:
//   * ends in an unescaped $ character,
//     e.g. "Hello $", or
//   * calls for a position argument which is not provided,
//     e.g. Substitute("Hello $2", "world"), or
//   * specifies a non-digit, non-$ character after an unescaped $ character,
//     e.g. "Hello $f".
// In debug mode, i.e. #ifndef NDEBUG, such errors terminate the program.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/synchronization/barrier.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// barrier.h
// -----------------------------------------------------------------------------


==============================================================================

Sources: build_arm64/abseil-cpp/absl/synchronization/blocking_counter.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// blocking_counter.h
// -----------------------------------------------------------------------------


==============================================================================

Sources: build_arm64/abseil-cpp/absl/synchronization/internal/futex_waiter.cc, build_arm64/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc, build_arm64/abseil-cpp/absl/synchronization/internal/sem_waiter.cc, build_arm64/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc, build_arm64/abseil-cpp/absl/synchronization/internal/waiter_base.cc, build_arm64/abseil-cpp/absl/synchronization/internal/win32_waiter.cc

// Copyright 2023 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/synchronization/internal/futex_waiter.h, build_arm64/abseil-cpp/absl/synchronization/internal/pthread_waiter.h, build_arm64/abseil-cpp/absl/synchronization/internal/sem_waiter.h, build_arm64/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h, build_arm64/abseil-cpp/absl/synchronization/internal/waiter_base.h, build_arm64/abseil-cpp/absl/synchronization/internal/win32_waiter.h

// Copyright 2023 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//


==============================================================================

Sources: build_arm64/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc

// Copyright 2023 The Abseil Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/synchronization/mutex.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// mutex.h
// -----------------------------------------------------------------------------
//
// This header file defines a `Mutex` -- a mutually exclusive lock -- and the
// most common type of synchronization primitive for facilitating locks on
// shared resources. A mutex is used to prevent multiple threads from accessing
// and/or writing to a shared resource concurrently.
//
// Unlike a `std::mutex`, the Abseil `Mutex` provides the following additional
// features:
//   * Conditional predicates intrinsic to the `Mutex` object
//   * Shared/reader locks, in addition to standard exclusive/writer locks
//   * Deadlock detection and debug support.
//
// The following helper classes are also defined within this file:
//
//  MutexLock - An RAII wrapper to acquire and release a `Mutex` for exclusive/
//              write access within the current scope.
//
//  ReaderMutexLock
//            - An RAII wrapper to acquire and release a `Mutex` for shared/read
//              access within the current scope.
//
//  WriterMutexLock
//            - Effectively an alias for `MutexLock` above, designed for use in
//              distinguishing reader and writer locks within code.
//
// In addition to simple mutex locks, this file also defines ways to perform
// locking under certain conditions.
//
//  Condition - (Preferred) Used to wait for a particular predicate that
//              depends on state protected by the `Mutex` to become true.
//  CondVar   - A lower-level variant of `Condition` that relies on
//              application code to explicitly signal the `CondVar` when
//              a condition has been met.
//
// See below for more information on using `Condition` or `CondVar`.
//
// Mutexes and mutex behavior can be quite complicated. The information within
// this header file is limited, as a result. Please consult the Mutex guide for
// more complete information and examples.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/synchronization/notification.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// notification.h
// -----------------------------------------------------------------------------
//
// This header file defines a `Notification` abstraction, which allows threads
// to receive notification of a single occurrence of a single event.
//
// The `Notification` object maintains a private boolean "notified" state that
// transitions to `true` at most once. The `Notification` class provides the
// following primary member functions:
//   * `HasBeenNotified()` to query its state
//   * `WaitForNotification*()` to have threads wait until the "notified" state
//      is `true`.
//   * `Notify()` to set the notification's "notified" state to `true` and
//     notify all waiting threads that the event has occurred.
//     This method may only be called once.
//
// Note that while `Notify()` may only be called once, it is perfectly valid to
// call any of the `WaitForNotification*()` methods multiple times, from
// multiple threads -- even after the notification's "notified" state has been
// set -- in which case those methods will immediately return.
//
// Note that the lifetime of a `Notification` requires careful consideration;
// it might not be safe to destroy a notification after calling `Notify()` since
// it is still legal for other threads to call `WaitForNotification*()` methods
// on the notification. However, observers responding to a "notified" state of
// `true` can safely delete the notification without interfering with the call
// to `Notify()` in the other thread.
//
// Memory ordering: For any threads X and Y, if X calls `Notify()`, then any
// action taken by X before it calls `Notify()` is visible to thread Y after:
//  * Y returns from `WaitForNotification()`, or
//  * Y receives a `true` return value from either `HasBeenNotified()` or
//    `WaitForNotificationWithTimeout()`.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/time/civil_time.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: civil_time.h
// -----------------------------------------------------------------------------
//
// This header file defines abstractions for computing with "civil time".
// The term "civil time" refers to the legally recognized human-scale time
// that is represented by the six fields `YYYY-MM-DD hh:mm:ss`. A "date"
// is perhaps the most common example of a civil time (represented here as
// an `absl::CivilDay`).
//
// Modern-day civil time follows the Gregorian Calendar and is a
// time-zone-independent concept: a civil time of "2015-06-01 12:00:00", for
// example, is not tied to a time zone. Put another way, a civil time does not
// map to a unique point in time; a civil time must be mapped to an absolute
// time *through* a time zone.
//
// Because a civil time is what most people think of as "time," it is common to
// map absolute times to civil times to present to users.
//
// Time zones define the relationship between absolute and civil times. Given an
// absolute or civil time and a time zone, you can compute the other time:
//
//   Civil Time = F(Absolute Time, Time Zone)
//   Absolute Time = G(Civil Time, Time Zone)
//
// The Abseil time library allows you to construct such civil times from
// absolute times; consult time.h for such functionality.
//
// This library provides six classes for constructing civil-time objects, and
// provides several helper functions for rounding, iterating, and performing
// arithmetic on civil-time objects, while avoiding complications like
// daylight-saving time (DST):
//
//   * `absl::CivilSecond`
//   * `absl::CivilMinute`
//   * `absl::CivilHour`
//   * `absl::CivilDay`
//   * `absl::CivilMonth`
//   * `absl::CivilYear`
//
// Example:
//
//   // Construct a civil-time object for a specific day
//   const absl::CivilDay cd(1969, 07, 20);
//
//   // Construct a civil-time object for a specific second
//   const absl::CivilSecond cd(2018, 8, 1, 12, 0, 1);
//
// Note: In C++14 and later, this library is usable in a constexpr context.
//
// Example:
//
//   // Valid in C++14
//   constexpr absl::CivilDay cd(1969, 07, 20);


==============================================================================

Sources: build_arm64/abseil-cpp/absl/time/clock.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: clock.h
// -----------------------------------------------------------------------------
//
// This header file contains utility functions for working with the system-wide
// realtime clock. For descriptions of the main time abstractions used within
// this header file, consult the time.h header file.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h, build_arm64/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h, build_arm64/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h, build_arm64/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h, build_arm64/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc, build_arm64/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h, build_arm64/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc

// Copyright 2016 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//   https://www.apache.org/licenses/LICENSE-2.0
//
//   Unless required by applicable law or agreed to in writing, software
//   distributed under the License is distributed on an "AS IS" BASIS,
//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//   See the License for the specific language governing permissions and
//   limitations under the License.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/time/internal/cctz/src/tzfile.h

/*
** This file is in the public domain, so clarified as of
** 1996-06-05 by Arthur David Olson.
*/


==============================================================================

Sources: build_arm64/abseil-cpp/absl/time/time.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// File: time.h
// -----------------------------------------------------------------------------
//
// This header file defines abstractions for computing with absolute points
// in time, durations of time, and formatting and parsing time within a given
// time zone. The following abstractions are defined:
//
//  * `absl::Time` defines an absolute, specific instance in time
//  * `absl::Duration` defines a signed, fixed-length span of time
//  * `absl::TimeZone` defines geopolitical time zone regions (as collected
//     within the IANA Time Zone database (https://www.iana.org/time-zones)).
//
// Note: Absolute times are distinct from civil times, which refer to the
// human-scale time commonly represented by `YYYY-MM-DD hh:mm:ss`. The mapping
// between absolute and civil times can be specified by use of time zones
// (`absl::TimeZone` within this API). That is:
//
//   Civil Time = F(Absolute Time, Time Zone)
//   Absolute Time = G(Civil Time, Time Zone)
//
// See civil_time.h for abstractions related to constructing and manipulating
// civil time.
//
// Example:
//
//   absl::TimeZone nyc;
//   // LoadTimeZone() may fail so it's always better to check for success.
//   if (!absl::LoadTimeZone("America/New_York", &nyc)) {
//      // handle error case
//   }
//
//   // My flight leaves NYC on Jan 2, 2017 at 03:04:05
//   absl::CivilSecond cs(2017, 1, 2, 3, 4, 5);
//   absl::Time takeoff = absl::FromCivil(cs, nyc);
//
//   absl::Duration flight_duration = absl::Hours(21) + absl::Minutes(35);
//   absl::Time landing = takeoff + flight_duration;
//
//   absl::TimeZone syd;
//   if (!absl::LoadTimeZone("Australia/Sydney", &syd)) {
//      // handle error case
//   }
//   std::string s = absl::FormatTime(
//       "My flight will land in Sydney on %Y-%m-%d at %H:%M:%S",
//       landing, syd);


==============================================================================

Sources: build_arm64/abseil-cpp/absl/types/bad_optional_access.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// bad_optional_access.h
// -----------------------------------------------------------------------------
//
// This header file defines the `absl::bad_optional_access` type.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/types/bad_variant_access.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// bad_variant_access.h
// -----------------------------------------------------------------------------
//
// This header file defines the `absl::bad_variant_access` type.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/types/internal/span.h

//
// Copyright 2019 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//


==============================================================================

Sources: build_arm64/abseil-cpp/absl/types/optional.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// optional.h
// -----------------------------------------------------------------------------
//
// This header file defines the `absl::optional` type for holding a value which
// may or may not be present. This type is useful for providing value semantics
// for operations that may either wish to return or hold "something-or-nothing".
//
// Example:
//
//   // A common way to signal operation failure is to provide an output
//   // parameter and a bool return type:
//   bool AcquireResource(const Input&, Resource * out);
//
//   // Providing an absl::optional return type provides a cleaner API:
//   absl::optional<Resource> AcquireResource(const Input&);
//
// `absl::optional` is a C++11 compatible version of the C++17 `std::optional`
// abstraction and is designed to be a drop-in replacement for code compliant
// with C++17.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/types/span.h

//
// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// span.h
// -----------------------------------------------------------------------------
//
// This header file defines a `Span<T>` type for holding a reference to existing
// array data. The `Span` object, much like the `absl::string_view` object,
// does not own such data itself, and the data being referenced by the span must
// outlive the span itself. Unlike `view` type references, a span can hold a
// reference to mutable data (and can mutate it for underlying types of
// non-const T.) A span provides a lightweight way to pass a reference to such
// data.
//
// Additionally, this header file defines `MakeSpan()` and `MakeConstSpan()`
// factory functions, for clearly creating spans of type `Span<T>` or read-only
// `Span<const T>` when such types may be difficult to identify due to issues
// with implicit conversion.
//
// The C++20 draft standard includes a `std::span` type. As of June 2020, the
// differences between `absl::Span` and `std::span` are:
//    * `absl::Span` has `operator==` (which is likely a design bug,
//       per https://abseil.io/blog/20180531-regular-types)
//    * `absl::Span` has the factory functions `MakeSpan()` and
//      `MakeConstSpan()`
//    * bounds-checked access to `absl::Span` is accomplished with `at()`
//    * `absl::Span` has compiler-provided move and copy constructors and
//      assignment. This is due to them being specified as `constexpr`, but that
//      implies const in C++11.
//    * A read-only `absl::Span<const T>` can be implicitly constructed from an
//      initializer list.
//    * `absl::Span` has no `bytes()`, `size_bytes()`, `as_bytes()`, or
//      `as_mutable_bytes()` methods
//    * `absl::Span` has no static extent template parameter, nor constructors
//      which exist only because of the static extent parameter.
//    * `absl::Span` has an explicit mutable-reference constructor
//
// For more information, see the class comments below.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/types/variant.h

// Copyright 2018 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// -----------------------------------------------------------------------------
// variant.h
// -----------------------------------------------------------------------------
//
// This header file defines an `absl::variant` type for holding a type-safe
// value of some prescribed set of types (noted as alternative types), and
// associated functions for managing variants.
//
// The `absl::variant` type is a form of type-safe union. An `absl::variant`
// should always hold a value of one of its alternative types (except in the
// "valueless by exception state" -- see below). A default-constructed
// `absl::variant` will hold the value of its first alternative type, provided
// it is default-constructible.
//
// In exceptional cases due to error, an `absl::variant` can hold no
// value (known as a "valueless by exception" state), though this is not the
// norm.
//
// As with `absl::optional`, an `absl::variant` -- when it holds a value --
// allocates a value of that type directly within the `variant` itself; it
// cannot hold a reference, array, or the type `void`; it can, however, hold a
// pointer to externally managed memory.
//
// `absl::variant` is a C++11 compatible version of the C++17 `std::variant`
// abstraction and is designed to be a drop-in replacement for code compliant
// with C++17.


==============================================================================

Sources: build_arm64/abseil-cpp/absl/utility/utility.h

// Copyright 2017 The Abseil Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// This header file contains C++11 versions of standard <utility> header
// abstractions available within C++14 and C++17, and are designed to be drop-in
// replacement for code compliant with C++14 and C++17.
//
// The following abstractions are defined:
//
//   * integer_sequence<T, Ints...>  == std::integer_sequence<T, Ints...>
//   * index_sequence<Ints...>       == std::index_sequence<Ints...>
//   * make_integer_sequence<T, N>   == std::make_integer_sequence<T, N>
//   * make_index_sequence<N>        == std::make_index_sequence<N>
//   * index_sequence_for<Ts...>     == std::index_sequence_for<Ts...>
//   * apply<Functor, Tuple>         == std::apply<Functor, Tuple>
//   * exchange<T>                   == std::exchange<T>
//   * make_from_tuple<T>            == std::make_from_tuple<T>
//
// This header file also provides the tag types `in_place_t`, `in_place_type_t`,
// and `in_place_index_t`, as well as the constant `in_place`, and
// `constexpr` `std::move()` and `std::forward()` implementations in C++11.
//
// References:
//
//  https://en.cppreference.com/w/cpp/utility/integer_sequence
//  https://en.cppreference.com/w/cpp/utility/apply
//  http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3658.html


==============================================================================

Sources: build_arm64/cpuinfo/src/cpuinfo/common.h

/*
 * Copyright (c) Facebook, Inc. and its affiliates.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree.
 */


==============================================================================

Sources: build_arm64/eigen/Eigen/Core, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/Core

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2007-2011 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/../plugins/BlockMethods.inc, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/../plugins/BlockMethods.inc

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/../plugins/CommonCwiseBinaryOps.inc, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/../plugins/CommonCwiseBinaryOps.inc

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2016 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/../plugins/CommonCwiseUnaryOps.inc, build_arm64/eigen/Eigen/src/Core/../plugins/MatrixCwiseBinaryOps.inc, build_arm64/eigen/Eigen/src/Core/../plugins/MatrixCwiseUnaryOps.inc, build_arm64/eigen/Eigen/src/Core/PlainObjectBase.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/../plugins/CommonCwiseUnaryOps.inc, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/../plugins/MatrixCwiseBinaryOps.inc, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/../plugins/MatrixCwiseUnaryOps.inc, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/PlainObjectBase.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/../plugins/IndexedViewMethods.inc, build_arm64/eigen/Eigen/src/Core/ArithmeticSequence.h, build_arm64/eigen/Eigen/src/Core/IndexedView.h, build_arm64/eigen/Eigen/src/Core/arch/Default/ConjHelper.h, build_arm64/eigen/Eigen/src/Core/util/IndexedViewHelper.h, build_arm64/eigen/Eigen/src/Core/util/IntegralConstant.h, build_arm64/eigen/Eigen/src/Core/util/ReshapedHelper.h, build_arm64/eigen/Eigen/src/Core/util/SymbolicIndex.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/../plugins/IndexedViewMethods.inc, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/ArithmeticSequence.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/IndexedView.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/Default/ConjHelper.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/IndexedViewHelper.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/IntegralConstant.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/ReshapedHelper.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/SymbolicIndex.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2017 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Array.h, build_arm64/eigen/Eigen/src/Core/ArrayBase.h, build_arm64/eigen/Eigen/src/Core/BandMatrix.h, build_arm64/eigen/Eigen/src/Core/NoAlias.h, build_arm64/eigen/Eigen/src/Core/SelfAdjointView.h, build_arm64/eigen/Eigen/src/Core/StableNorm.h, build_arm64/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h, build_arm64/eigen/Eigen/src/Core/products/SelfadjointProduct.h, build_arm64/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h, build_arm64/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h, build_arm64/eigen/Eigen/src/Core/products/TriangularMatrixVector.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Array.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/ArrayBase.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/BandMatrix.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/NoAlias.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/SelfAdjointView.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/StableNorm.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/SelfadjointMatrixMatrix.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/SelfadjointProduct.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/SelfadjointRank2Update.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/TriangularMatrixMatrix.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/TriangularMatrixVector.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/ArrayWrapper.h, build_arm64/eigen/Eigen/src/Core/CwiseUnaryView.h, build_arm64/eigen/Eigen/src/Core/Replicate.h, build_arm64/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h, build_arm64/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h, build_arm64/eigen/Eigen/src/Core/util/BlasUtil.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/ArrayWrapper.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/CwiseUnaryView.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Replicate.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/SelfCwiseBinaryOp.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/BlasUtil.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Assign.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Assign.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007 Michael Olbrich <michael.olbrich@gmx.net>
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/AssignEvaluator.h, build_arm64/eigen/Eigen/src/Core/CoreEvaluators.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/AssignEvaluator.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/CoreEvaluators.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2011 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2011-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2011-2012 Jitse Niesen <jitse@maths.leeds.ac.uk>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Block.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Block.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/CommaInitializer.h, build_arm64/eigen/Eigen/src/Core/GenericPacketMath.h, build_arm64/eigen/Eigen/src/Core/NestByValue.h, build_arm64/eigen/Eigen/src/Core/Redux.h, build_arm64/eigen/Eigen/src/Core/util/XprHelper.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/CommaInitializer.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/GenericPacketMath.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/NestByValue.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Redux.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/XprHelper.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/ConditionEstimator.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/ConditionEstimator.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Rasmus Munk Larsen (rmlarsen@google.com)
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/CoreIterators.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/CoreIterators.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/CwiseBinaryOp.h, build_arm64/eigen/Eigen/src/Core/CwiseUnaryOp.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/CwiseBinaryOp.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/CwiseUnaryOp.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/CwiseNullaryOp.h, build_arm64/eigen/Eigen/src/Core/Select.h, build_arm64/eigen/Eigen/src/Core/functors/AssignmentFunctors.h, build_arm64/eigen/Eigen/src/Core/functors/BinaryFunctors.h, build_arm64/eigen/Eigen/src/Core/functors/StlFunctors.h, build_arm64/eigen/Eigen/src/Core/products/TriangularSolverVector.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/CwiseNullaryOp.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Select.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/functors/AssignmentFunctors.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/functors/BinaryFunctors.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/functors/StlFunctors.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/TriangularSolverVector.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/CwiseTernaryOp.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/CwiseTernaryOp.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2016 Eugene Brevdo <ebrevdo@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/DenseBase.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/DenseBase.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/DenseCoeffsBase.h, build_arm64/eigen/Eigen/src/Core/NumTraits.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/DenseCoeffsBase.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/NumTraits.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/DenseStorage.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/DenseStorage.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2010-2013 Hauke Heibel <hauke.heibel@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Diagonal.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Diagonal.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/DiagonalMatrix.h, build_arm64/eigen/Eigen/src/Core/SkewSymmetricMatrix3.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/DiagonalMatrix.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/SkewSymmetricMatrix3.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/DiagonalProduct.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/DiagonalProduct.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Dot.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Dot.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008, 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/EigenBase.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/EigenBase.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Fuzzy.h, build_arm64/eigen/Eigen/src/Core/IO.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Fuzzy.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/IO.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/GeneralProduct.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/GeneralProduct.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/GlobalFunctions.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/GlobalFunctions.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010-2016 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Inverse.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Inverse.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014-2019 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Map.h, build_arm64/eigen/Eigen/src/Core/MapBase.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Map.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/MapBase.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/MathFunctions.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/MathFunctions.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/MathFunctionsImpl.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/MathFunctionsImpl.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Pedro Gonnet (pedro.gonnet@gmail.com)
// Copyright (C) 2016 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Matrix.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Matrix.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/MatrixBase.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/MatrixBase.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/PartialReduxEvaluator.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/PartialReduxEvaluator.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2011-2018 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/PermutationMatrix.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/PermutationMatrix.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Product.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Product.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/ProductEvaluators.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/ProductEvaluators.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2011 Jitse Niesen <jitse@maths.leeds.ac.uk>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Random.h, build_arm64/eigen/Eigen/src/Core/Visitor.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Random.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Visitor.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/RandomImpl.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/RandomImpl.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2024 Charles Schlosser <cs.schlosser@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Ref.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Ref.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Reshaped.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Reshaped.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2017 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2014 yoco <peter.xiau@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/ReturnByValue.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/ReturnByValue.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Reverse.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Reverse.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009 Ricard Marxer <email@ricardmarxer.com>
// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Solve.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Solve.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/SolveTriangular.h, build_arm64/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h, build_arm64/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h, build_arm64/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/SolveTriangular.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/GeneralBlockPanelKernel.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/GeneralMatrixMatrix.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/SelfadjointMatrixVector.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/SolverBase.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/SolverBase.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2015 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/StlIterators.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/StlIterators.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2018 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Stride.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Stride.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Swap.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Swap.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Transpose.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Transpose.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/Transpositions.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/Transpositions.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/TriangularMatrix.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/TriangularMatrix.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/VectorBlock.h, build_arm64/eigen/Eigen/src/Core/arch/Default/Settings.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/VectorBlock.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/Default/Settings.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/VectorwiseOp.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/VectorwiseOp.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2019 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/arch/Default/BFloat16.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/Default/BFloat16.h, third_party/tensorflow/tensorflow/lite/allocation.cc, third_party/tensorflow/tensorflow/lite/allocation.h, third_party/tensorflow/tensorflow/lite/arena_planner.cc, third_party/tensorflow/tensorflow/lite/arena_planner.h, third_party/tensorflow/tensorflow/lite/context_util.h, third_party/tensorflow/tensorflow/lite/core/api/error_reporter.cc, third_party/tensorflow/tensorflow/lite/core/api/error_reporter.h, third_party/tensorflow/tensorflow/lite/core/api/profiler.h, third_party/tensorflow/tensorflow/lite/core/c/builtin_op_data.h, third_party/tensorflow/tensorflow/lite/core/create_op_resolver_with_builtin_ops.cc, third_party/tensorflow/tensorflow/lite/core/interpreter.cc, third_party/tensorflow/tensorflow/lite/core/interpreter.h, third_party/tensorflow/tensorflow/lite/core/interpreter_builder.cc, third_party/tensorflow/tensorflow/lite/core/interpreter_builder.h, third_party/tensorflow/tensorflow/lite/core/interpreter_experimental.cc, third_party/tensorflow/tensorflow/lite/core/kernels/register.h, third_party/tensorflow/tensorflow/lite/core/model.h, third_party/tensorflow/tensorflow/lite/core/model_builder.cc, third_party/tensorflow/tensorflow/lite/core/model_builder.h, third_party/tensorflow/tensorflow/lite/core/subgraph.cc, third_party/tensorflow/tensorflow/lite/core/tools/verifier.cc, third_party/tensorflow/tensorflow/lite/core/tools/verifier.h, third_party/tensorflow/tensorflow/lite/delegates/nnapi/nnapi_delegate.h, third_party/tensorflow/tensorflow/lite/error_reporter.h, third_party/tensorflow/tensorflow/lite/graph_info.h, third_party/tensorflow/tensorflow/lite/kernels/activations.cc, third_party/tensorflow/tensorflow/lite/kernels/add.cc, third_party/tensorflow/tensorflow/lite/kernels/basic_rnn.cc, third_party/tensorflow/tensorflow/lite/kernels/batch_to_space_nd.cc, third_party/tensorflow/tensorflow/lite/kernels/bidirectional_sequence_lstm.cc, third_party/tensorflow/tensorflow/lite/kernels/bidirectional_sequence_rnn.cc, third_party/tensorflow/tensorflow/lite/kernels/cast.cc, third_party/tensorflow/tensorflow/lite/kernels/concatenation.cc, third_party/tensorflow/tensorflow/lite/kernels/conv.cc, third_party/tensorflow/tensorflow/lite/kernels/depth_to_space.cc, third_party/tensorflow/tensorflow/lite/kernels/depthwise_conv.cc, third_party/tensorflow/tensorflow/lite/kernels/div.cc, third_party/tensorflow/tensorflow/lite/kernels/embedding_lookup.cc, third_party/tensorflow/tensorflow/lite/kernels/embedding_lookup_sparse.cc, third_party/tensorflow/tensorflow/lite/kernels/expand_dims.cc, third_party/tensorflow/tensorflow/lite/kernels/fully_connected.cc, third_party/tensorflow/tensorflow/lite/kernels/gather.cc, third_party/tensorflow/tensorflow/lite/kernels/hashtable_lookup.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/common.h, third_party/tensorflow/tensorflow/lite/kernels/internal/compatibility.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/cpu_check.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/depthwiseconv_float.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/depthwiseconv_uint8.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/eigen_spatial_convolutions.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/neon_tensor_utils.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/neon_tensor_utils.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/neon_tensor_utils_impl.h, third_party/tensorflow/tensorflow/lite/kernels/internal/portable_tensor.h, third_party/tensorflow/tensorflow/lite/kernels/internal/portable_tensor_utils.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/quantization_util.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/quantization_util.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/depthwiseconv_float.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/depthwiseconv_uint8.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/fully_connected.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/maximum_minimum.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/softmax.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/strided_slice.h, third_party/tensorflow/tensorflow/lite/kernels/internal/tensor.h, third_party/tensorflow/tensorflow/lite/kernels/internal/tensor_ctypes.h, third_party/tensorflow/tensorflow/lite/kernels/internal/tensor_utils.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/tensor_utils.h, third_party/tensorflow/tensorflow/lite/kernels/kernel_util.cc, third_party/tensorflow/tensorflow/lite/kernels/kernel_util.h, third_party/tensorflow/tensorflow/lite/kernels/l2norm.cc, third_party/tensorflow/tensorflow/lite/kernels/local_response_norm.cc, third_party/tensorflow/tensorflow/lite/kernels/lsh_projection.cc, third_party/tensorflow/tensorflow/lite/kernels/one_hot.cc, third_party/tensorflow/tensorflow/lite/kernels/op_macros.h, third_party/tensorflow/tensorflow/lite/kernels/pad.cc, third_party/tensorflow/tensorflow/lite/kernels/padding.h, third_party/tensorflow/tensorflow/lite/kernels/pooling.cc, third_party/tensorflow/tensorflow/lite/kernels/rank.cc, third_party/tensorflow/tensorflow/lite/kernels/reduce.cc, third_party/tensorflow/tensorflow/lite/kernels/reshape.cc, third_party/tensorflow/tensorflow/lite/kernels/resize_bilinear.cc, third_party/tensorflow/tensorflow/lite/kernels/resize_nearest_neighbor.cc, third_party/tensorflow/tensorflow/lite/kernels/shape.cc, third_party/tensorflow/tensorflow/lite/kernels/skip_gram.cc, third_party/tensorflow/tensorflow/lite/kernels/space_to_batch_nd.cc, third_party/tensorflow/tensorflow/lite/kernels/space_to_depth.cc, third_party/tensorflow/tensorflow/lite/kernels/sub.cc, third_party/tensorflow/tensorflow/lite/kernels/svdf.cc, third_party/tensorflow/tensorflow/lite/kernels/tile.cc, third_party/tensorflow/tensorflow/lite/kernels/topk_v2.cc, third_party/tensorflow/tensorflow/lite/kernels/transpose.cc, third_party/tensorflow/tensorflow/lite/kernels/unidirectional_sequence_lstm.cc, third_party/tensorflow/tensorflow/lite/kernels/unidirectional_sequence_rnn.cc, third_party/tensorflow/tensorflow/lite/kernels/zeros_like.cc, third_party/tensorflow/tensorflow/lite/memory_planner.h, third_party/tensorflow/tensorflow/lite/nnapi/NeuralNetworksTypes.h, third_party/tensorflow/tensorflow/lite/nnapi/nnapi_implementation.h, third_party/tensorflow/tensorflow/lite/optional_debug_tools.cc, third_party/tensorflow/tensorflow/lite/optional_debug_tools.h, third_party/tensorflow/tensorflow/lite/simple_memory_arena.cc, third_party/tensorflow/tensorflow/lite/simple_memory_arena.h, third_party/tensorflow/tensorflow/lite/stderr_reporter.cc, third_party/tensorflow/tensorflow/lite/stderr_reporter.h, third_party/tensorflow/tensorflow/lite/string_type.h, third_party/tensorflow/tensorflow/lite/string_util.cc, third_party/tensorflow/tensorflow/lite/string_util.h, third_party/tensorflow/tensorflow/lite/util.cc, third_party/tensorflow/tensorflow/lite/util.h, third_party/tensorflow/tensorflow/lite/version.h, third_party/tensorflow/third_party/fft2d/fft.h, third_party/tensorflow/third_party/fft2d/fft2d.h

/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007 Julien Pommier
// Copyright (C) 2014 Pedro Gonnet (pedro.gonnet@gmail.com)
// Copyright (C) 2009-2019 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h

/* The exp and log functions of this file initially come from
 * Julien Pommier's sse math library: http://gruntthepeon.free.fr/ssemath/
 */


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h

/* Returns the base e (2.718...) or base 2 logarithm of x.
 * The argument is separated into its exponent and fractional parts.
 * The logarithm of the fraction in the interval [sqrt(1/2), sqrt(2)],
 * is approximated by
 *
 *     log(1+x) = x - 0.5 x**2 + x**3 P(x)/Q(x).
 *
 * for more detail see: http://www.netlib.org/cephes/
 */


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h

// Use the same range reduction strategy (to [0:tan(pi/8)]) as the
  // Cephes library:
  //   "Large": For x >= tan(3*pi/8), use atan(1/x) = pi/2 - atan(x).
  //   "Medium": For x in [tan(pi/8) : tan(3*pi/8)),
  //             use atan(x) = pi/4 + atan((x-1)/(x+1)).
  //   "Small": For x < tan(pi/8), approximate atan(x) directly by a polynomial
  //            calculated using Sollya.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2019 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/arch/Default/Half.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/Default/Half.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
//
// The conversion routines are Copyright (c) Fabian Giesen, 2016.
// The original license follows:
//
// Copyright (c) Fabian Giesen, 2016
// All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted.
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/arch/NEON/Complex.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/NEON/Complex.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Konstantinos Margaritis <markos@freevec.org>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/arch/NEON/PacketMath.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/NEON/PacketMath.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Konstantinos Margaritis <markos@freevec.org>
// Heavily based on Gael's SSE version.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/NEON/TypeCasting.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2018 Rasmus Munk Larsen <rmlarsen@google.com>
// Copyright (C) 2020 Antonio Sanchez <cantonios@google.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/functors/NullaryFunctors.h, build_arm64/eigen/Eigen/src/Core/functors/UnaryFunctors.h, build_arm64/eigen/Eigen/src/Core/products/GeneralMatrixVector.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/functors/NullaryFunctors.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/functors/UnaryFunctors.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/GeneralMatrixVector.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2016 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/functors/TernaryFunctors.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/functors/TernaryFunctors.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Eugene Brevdo <ebrevdo@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/functors/UnaryFunctors.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/functors/UnaryFunctors.h

// Get r = x - m*ln(2). We use a trick from Cephes where the term
    // m*ln(2) is subtracted out in two parts, m*C1+m*C2 = m*ln(2),
    // to avoid accumulating truncation errors.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/products/Parallelizer.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/Parallelizer.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/TriangularSolverMatrix.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Modifications Copyright (C) 2022 Intel Corporation
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/util/Assert.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/Assert.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2022, The Eigen authors.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/util/ConfigureVectorization.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/ConfigureVectorization.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2018 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2020, Arm Limited and Contributors
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/util/Constants.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/Constants.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2020, Arm Limited and Contributors
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/util/EmulateArray.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/EmulateArray.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/MaxSizeVector.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/ThreadPool/ThreadEnvironment.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/ThreadPool/ThreadPoolInterface.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/util/ForwardDeclarations.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/ForwardDeclarations.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/util/MKL_support.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/MKL_support.h

/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to Intel(R) MKL
 *   Include file with common MKL declarations
 ********************************************************************************
*/


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/util/Macros.h, build_arm64/eigen/Eigen/src/Core/util/Meta.h, build_arm64/eigen/Eigen/src/Core/util/MoreMeta.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/Macros.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/Meta.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/MoreMeta.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/util/Memory.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/Memory.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2008-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009 Kenneth Riddile <kfriddile@yahoo.com>
// Copyright (C) 2010 Hauke Heibel <hauke.heibel@gmail.com>
// Copyright (C) 2010 Thomas Capricelli <orzel@freehackers.org>
// Copyright (C) 2013 Pavel Holoborodko <pavel@holoborodko.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/util/Serializer.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/Serializer.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2021 The Eigen Team
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/Eigen/src/Core/util/StaticAssert.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/StaticAssert.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/ThreadPool, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/ThreadPool/ThreadCancel.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/ThreadPool/ThreadLocal.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/ThreadPool/ThreadYield.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Benoit Steiner <benoit.steiner.goog@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/ThreadPool/Barrier.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2018 Rasmus Munk Larsen <rmlarsen@google.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/ThreadPool/EventCount.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/ThreadPool/NonBlockingThreadPool.h, build_arm64/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/ThreadPool/RunQueue.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Dmitry Vyukov <dvyukov@google.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../SpecialFunctions

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Gael Guennebaud <g.gael@free.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/BesselFunctionsArrayAPI.h, build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/BesselFunctionsPacketMath.h, build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsArrayAPI.h, build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsPacketMath.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/BesselFunctionsFunctors.h, build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsFunctors.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Eugene Brevdo <ebrevdo@gmail.com>
// Copyright (C) 2016 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/BesselFunctionsImpl.h, build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2015 Eugene Brevdo <ebrevdo@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/BesselFunctionsImpl.h, build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

//  Parts of this code are based on the Cephes Math Library.
//
//  Cephes Math Library Release 2.8:  June, 2000
//  Copyright 1984, 1987, 1992, 2000 by Stephen L. Moshier
//
//  Permission has been kindly provided by the original author
//  to incorporate the Cephes software into the Eigen codebase:
//
//    From: Stephen Moshier
//    To: Eugene Brevdo
//    Subject: Re: Permission to wrap several cephes functions in Eigen
//
//    Hello Eugene,
//
//    Thank you for writing.
//
//    If your licensing is similar to BSD, the formal way that has been
//    handled is simply to add a statement to the effect that you are incorporating
//    the Cephes software by permission of the author.
//
//    Good luck with your project,
//    Steve


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/BesselFunctionsImpl.h

/****************************************************************************
 * Implementation of Bessel function, based on Cephes                       *
 ****************************************************************************/


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/BesselFunctionsImpl.h

// j1 is an odd function. This implementation differs from cephes to
    // take this fact in to account. Cephes returns -j1(x) for y > 2 range.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/BesselFunctionsImpl.h

// j1 is an odd function. This implementation differs from cephes to
    // take this fact in to account. Cephes returns -j1(x) for y > 5 range.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

/****************************************************************************
 * Implementation of digamma (psi), based on Cephes                         *
 ****************************************************************************/


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

/*
  Cephes Math Library Release 2.2: June, 1992
  Copyright 1985, 1987, 1992 by Stephen L. Moshier
  Direct inquiries to 30 Frost Street, Cambridge, MA 02140
*/


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

/**************************************************************************************************************
 * Implementation of igammac (complemented incomplete gamma integral), based on Cephes but requires C++11/C99 *
 **************************************************************************************************************/


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

// NOTE: cephes_helper is also used to implement zeta


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

/*
      Cephes Math Library Release 2.2: June, 1992
      Copyright 1985, 1987, 1992 by Stephen L. Moshier
      Direct inquiries to 30 Frost Street, Cambridge, MA 02140
    */


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

/************************************************************************************************
 * Implementation of igamma (incomplete gamma integral), based on Cephes but requires C++11/C99 *
 ************************************************************************************************/


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

/* igam()
   * Incomplete gamma integral.
   *
   * The CDF of Gamma(a, 1) random variable at the point x.
   *
   * Accuracy estimation. For each a in [10^-2, 10^-1...10^3] we sample
   * 50 Gamma random variables x ~ Gamma(x | a, 1), a total of 300 points.
   * The ground truth is computed by mpmath. Mean absolute error:
   * float: 1.26713e-05
   * double: 2.33606e-12
   *
   * Cephes documentation below.
   *
   * SYNOPSIS:
   *
   * double a, x, y, igam();
   *
   * y = igam( a, x );
   *
   * DESCRIPTION:
   *
   * The function is defined by
   *
   *                           x
   *                            -
   *                   1       | |  -t  a-1
   *  igam(a,x)  =   -----     |   e   t   dt.
   *                  -      | |
   *                 | (a)    -
   *                           0
   *
   *
   * In this implementation both arguments must be positive.
   * The integral is evaluated by either a power series or
   * continued fraction expansion, depending on the relative
   * values of a and x.
   *
   * ACCURACY (double):
   *
   *                      Relative error:
   * arithmetic   domain     # trials      peak         rms
   *    IEEE      0,30       200000       3.6e-14     2.9e-15
   *    IEEE      0,100      300000       9.9e-14     1.5e-14
   *
   *
   * ACCURACY (float):
   *
   *                      Relative error:
   * arithmetic   domain     # trials      peak         rms
   *    IEEE      0,30        20000       7.8e-6      5.9e-7
   *
   */


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

/*
    Cephes Math Library Release 2.2: June, 1992
    Copyright 1985, 1987, 1992 by Stephen L. Moshier
    Direct inquiries to 30 Frost Street, Cambridge, MA 02140
  */


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

/*****************************************************************************
 * Implementation of Riemann zeta function of two arguments, based on Cephes *
 *****************************************************************************/


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/../src/SpecialFunctions/SpecialFunctionsImpl.h

/************************************************************************************************
 * Implementation of betainc (incomplete beta integral), based on Cephes but requires C++11/C99 *
 ************************************************************************************************/


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/Tensor, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/Tensor.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
// Copyright (C) 2013 Christian Seiler <christian@iwakd.de>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2015 Eugene Brevdo <ebrevdo@gmail.com>
//                    Benoit Steiner <benoit.steiner.goog@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014-2015 Benoit Steiner <benoit.steiner.goog@gmail.com>
// Copyright (C) 2015 Navdeep Jaitly <ndjaitly@google.com>
// Copyright (C) 2014 Eric Martin <eric@ericmart.in>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h, build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2015 Benoit Steiner <benoit.steiner.goog@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Rasmus Munk Larsen <rmlarsen@google.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Mehdi Goli    Codeplay Software Ltd.
// Ralph Potter  Codeplay Software Ltd.
// Luke Iwanski  Codeplay Software Ltd.
// Contact: <eigen@codeplay.com>
// Copyright (C) 2016 Benoit Steiner <benoit.steiner.goog@gmail.com>


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2015 Jianwei Cui <thucjw@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2015 Ke Yang <yangke@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Benoit Steiner <benoit.steiner.goog@gmail.com>
// Copyright (C) 2018 Mehdi Goli <eigen@codeplay.com> Codeplay Software Ltd.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
// Copyright (C) 2016 Mehdi Goli, Codeplay Software Ltd <eigen@codeplay.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Navdeep Jaitly <ndjaitly@google.com>
//                    Benoit Steiner <benoit.steiner.goog@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Igor Babuschkin <igor@babuschk.in>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2013 Christian Seiler <christian@iwakd.de>
// Copyright (C) 2014-2015 Benoit Steiner <benoit.steiner.goog@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h

// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2017 Gagan Goel <gagan.nith@gmail.com>
// Copyright (C) 2017 Benoit Steiner <benoit.steiner.goog@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


==============================================================================

Sources: build_arm64/farmhash/src/farmhash.cc, build_arm64/farmhash/src/farmhash.h

// Copyright (c) 2014 Google, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
// FarmHash, by Geoff Pike


==============================================================================

Sources: build_arm64/flatbuffers/include/flatbuffers/allocator.h, build_arm64/flatbuffers/include/flatbuffers/array.h, build_arm64/flatbuffers/include/flatbuffers/buffer.h, build_arm64/flatbuffers/include/flatbuffers/buffer_ref.h, build_arm64/flatbuffers/include/flatbuffers/default_allocator.h, build_arm64/flatbuffers/include/flatbuffers/detached_buffer.h, build_arm64/flatbuffers/include/flatbuffers/flatbuffer_builder.h, build_arm64/flatbuffers/include/flatbuffers/string.h, build_arm64/flatbuffers/include/flatbuffers/struct.h, build_arm64/flatbuffers/include/flatbuffers/table.h, build_arm64/flatbuffers/include/flatbuffers/vector.h, build_arm64/flatbuffers/include/flatbuffers/vector_downward.h, build_arm64/flatbuffers/include/flatbuffers/verifier.h

/*
 * Copyright 2021 Google Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


==============================================================================

Sources: build_arm64/flatbuffers/include/flatbuffers/code_generator.h, build_arm64/flatbuffers/src/idl_gen_text.h

/*
 * Copyright 2023 Google Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


==============================================================================

Sources: build_arm64/flatbuffers/include/flatbuffers/flatbuffers.h, build_arm64/flatbuffers/include/flatbuffers/idl.h, build_arm64/flatbuffers/include/flatbuffers/util.h, build_arm64/flatbuffers/src/idl_gen_text.cpp, build_arm64/flatbuffers/src/idl_parser.cpp

/*
 * Copyright 2014 Google Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


==============================================================================

Sources: build_arm64/flatbuffers/include/flatbuffers/flexbuffers.h, build_arm64/flatbuffers/include/flatbuffers/stl_emulation.h

/*
 * Copyright 2017 Google Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


==============================================================================

Sources: build_arm64/flatbuffers/include/flatbuffers/hash.h, build_arm64/flatbuffers/include/flatbuffers/reflection.h, build_arm64/flatbuffers/src/reflection.cpp

/*
 * Copyright 2015 Google Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


==============================================================================

Sources: build_arm64/flatbuffers/src/util.cpp

/*
 * Copyright 2016 Google Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


==============================================================================

Sources: build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../fixedpoint/../internal/detect_platform.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../internal/../internal/detect_platform.h, build_arm64/gemmlowp/fixedpoint/../internal/detect_platform.h, build_arm64/gemmlowp/public/../internal/../fixedpoint/../internal/detect_platform.h, build_arm64/gemmlowp/public/../internal/../internal/../internal/detect_platform.h

// Copyright 2018 The Gemmlowp Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../fixedpoint/fixedpoint.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../fixedpoint/fixedpoint_neon.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../internal/../internal/platform.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../internal/../profiling/instrumentation.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../internal/../public/bit_depth.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../internal/common.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../internal/kernel.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../internal/kernel_default.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../internal/kernel_neon.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../internal/kernel_reference.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../public/../internal/common.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../public/map.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../public/output_stages.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/allocator.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/block_params.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/common.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/compute.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/kernel.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/multi_thread_gemm.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/output.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/output_neon.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/pack.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/pack_neon.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/single_thread_gemm.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/unpack.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/bit_depth.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/gemmlowp.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/map.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/output_stages.h, build_arm64/gemmlowp/fixedpoint/fixedpoint.h, build_arm64/gemmlowp/fixedpoint/fixedpoint_neon.h, build_arm64/gemmlowp/public/../internal/../fixedpoint/fixedpoint.h, build_arm64/gemmlowp/public/../internal/../fixedpoint/fixedpoint_neon.h, build_arm64/gemmlowp/public/../internal/../internal/../internal/platform.h, build_arm64/gemmlowp/public/../internal/../internal/../profiling/instrumentation.h, build_arm64/gemmlowp/public/../internal/../internal/../public/bit_depth.h, build_arm64/gemmlowp/public/../internal/../internal/common.h, build_arm64/gemmlowp/public/../internal/../internal/kernel.h, build_arm64/gemmlowp/public/../internal/../internal/kernel_default.h, build_arm64/gemmlowp/public/../internal/../internal/kernel_neon.h, build_arm64/gemmlowp/public/../internal/../internal/kernel_reference.h, build_arm64/gemmlowp/public/../internal/../public/../internal/common.h, build_arm64/gemmlowp/public/../internal/../public/map.h, build_arm64/gemmlowp/public/../internal/../public/output_stages.h, build_arm64/gemmlowp/public/../internal/allocator.h, build_arm64/gemmlowp/public/../internal/block_params.h, build_arm64/gemmlowp/public/../internal/common.h, build_arm64/gemmlowp/public/../internal/compute.h, build_arm64/gemmlowp/public/../internal/kernel.h, build_arm64/gemmlowp/public/../internal/multi_thread_gemm.h, build_arm64/gemmlowp/public/../internal/output.h, build_arm64/gemmlowp/public/../internal/output_neon.h, build_arm64/gemmlowp/public/../internal/pack.h, build_arm64/gemmlowp/public/../internal/pack_neon.h, build_arm64/gemmlowp/public/../internal/single_thread_gemm.h, build_arm64/gemmlowp/public/../internal/unpack.h, build_arm64/gemmlowp/public/bit_depth.h, build_arm64/gemmlowp/public/gemmlowp.h, build_arm64/gemmlowp/public/map.h, build_arm64/gemmlowp/public/output_stages.h

// Copyright 2015 The Gemmlowp Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/../internal/../profiling/pthread_everywhere.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/dispatch_gemm_shape.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/simd_wrappers.h, build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/simd_wrappers_neon.h, build_arm64/gemmlowp/public/../internal/../internal/../profiling/pthread_everywhere.h, build_arm64/gemmlowp/public/../internal/dispatch_gemm_shape.h, build_arm64/gemmlowp/public/../internal/simd_wrappers.h, build_arm64/gemmlowp/public/../internal/simd_wrappers_neon.h

// Copyright 2017 The Gemmlowp Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/gemmlowp/eight_bit_int_gemm/../public/../internal/simd_wrappers_common_neon_sse.h, build_arm64/gemmlowp/eight_bit_int_gemm/eight_bit_int_gemm.cc, build_arm64/gemmlowp/eight_bit_int_gemm/eight_bit_int_gemm.h, build_arm64/gemmlowp/public/../internal/simd_wrappers_common_neon_sse.h

// Copyright 2015 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: build_arm64/ruy/ruy/allocator.cc, build_arm64/ruy/ruy/allocator.h, build_arm64/ruy/ruy/asm_helpers.h, build_arm64/ruy/ruy/block_map.cc, build_arm64/ruy/ruy/block_map.h, build_arm64/ruy/ruy/blocking_counter.cc, build_arm64/ruy/ruy/blocking_counter.h, build_arm64/ruy/ruy/check_macros.h, build_arm64/ruy/ruy/context.h, build_arm64/ruy/ruy/ctx.cc, build_arm64/ruy/ruy/ctx.h, build_arm64/ruy/ruy/ctx_impl.h, build_arm64/ruy/ruy/denormal.cc, build_arm64/ruy/ruy/frontend.h, build_arm64/ruy/ruy/have_built_path_for.h, build_arm64/ruy/ruy/have_built_path_for_avx2_fma.cc, build_arm64/ruy/ruy/have_built_path_for_avx512.cc, build_arm64/ruy/ruy/kernel.h, build_arm64/ruy/ruy/kernel_arm.h, build_arm64/ruy/ruy/kernel_arm32.cc, build_arm64/ruy/ruy/kernel_arm64.cc, build_arm64/ruy/ruy/kernel_avx2_fma.cc, build_arm64/ruy/ruy/kernel_avx512.cc, build_arm64/ruy/ruy/kernel_common.h, build_arm64/ruy/ruy/kernel_x86.h, build_arm64/ruy/ruy/mat.h, build_arm64/ruy/ruy/matrix.h, build_arm64/ruy/ruy/mul_params.h, build_arm64/ruy/ruy/opt_set.h, build_arm64/ruy/ruy/pack.h, build_arm64/ruy/ruy/pack_arm.cc, build_arm64/ruy/ruy/pack_arm.h, build_arm64/ruy/ruy/pack_avx2_fma.cc, build_arm64/ruy/ruy/pack_avx512.cc, build_arm64/ruy/ruy/pack_common.h, build_arm64/ruy/ruy/pack_x86.h, build_arm64/ruy/ruy/path.h, build_arm64/ruy/ruy/platform.h, build_arm64/ruy/ruy/prepacked_cache.cc, build_arm64/ruy/ruy/prepacked_cache.h, build_arm64/ruy/ruy/ruy.h, build_arm64/ruy/ruy/side_pair.h, build_arm64/ruy/ruy/size_util.h, build_arm64/ruy/ruy/system_aligned_alloc.cc, build_arm64/ruy/ruy/system_aligned_alloc.h, build_arm64/ruy/ruy/thread_pool.cc, build_arm64/ruy/ruy/thread_pool.h, build_arm64/ruy/ruy/time.h, build_arm64/ruy/ruy/trmul.cc, build_arm64/ruy/ruy/trmul.h, build_arm64/ruy/ruy/trmul_params.h, build_arm64/ruy/ruy/tune.cc, build_arm64/ruy/ruy/tune.h, build_arm64/ruy/ruy/wait.cc, build_arm64/ruy/ruy/wait.h

/* Copyright 2019 Google LLC. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: build_arm64/ruy/ruy/apply_multiplier.cc, build_arm64/ruy/ruy/apply_multiplier.h, build_arm64/ruy/ruy/context.cc, build_arm64/ruy/ruy/cpuinfo.h, build_arm64/ruy/ruy/frontend.cc, build_arm64/ruy/ruy/have_built_path_for_avx.cc, build_arm64/ruy/ruy/kernel_avx.cc, build_arm64/ruy/ruy/pack_avx.cc, build_arm64/ruy/ruy/performance_advisory.h, build_arm64/ruy/ruy/prepare_packed_matrices.cc, build_arm64/ruy/ruy/prepare_packed_matrices.h, build_arm64/ruy/ruy/profiler/instrumentation.cc, build_arm64/ruy/ruy/profiler/instrumentation.h, build_arm64/ruy/ruy/validate.h

/* Copyright 2020 Google LLC. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: build_arm64/ruy/ruy/context_get_ctx.cc, build_arm64/ruy/ruy/context_get_ctx.h, build_arm64/ruy/ruy/cpu_cache_params.h, third_party/tensorflow/tensorflow/compiler/mlir/lite/schema/schema_utils.cc, third_party/tensorflow/tensorflow/compiler/mlir/lite/schema/schema_utils.h, third_party/tensorflow/tensorflow/lite/c/c_api.h, third_party/tensorflow/tensorflow/lite/c/c_api_opaque.h, third_party/tensorflow/tensorflow/lite/core/acceleration/configuration/delegate_registry.h, third_party/tensorflow/tensorflow/lite/core/acceleration/configuration/nnapi_plugin.cc, third_party/tensorflow/tensorflow/lite/core/acceleration/configuration/nnapi_plugin.h, third_party/tensorflow/tensorflow/lite/core/api/verifier.h, third_party/tensorflow/tensorflow/lite/core/c/c_api_types.h, third_party/tensorflow/tensorflow/lite/core/create_op_resolver.h, third_party/tensorflow/tensorflow/lite/core/macros.h, third_party/tensorflow/tensorflow/lite/delegates/external/external_delegate.cc, third_party/tensorflow/tensorflow/lite/delegates/external/external_delegate.h, third_party/tensorflow/tensorflow/lite/delegates/interpreter_utils.cc, third_party/tensorflow/tensorflow/lite/delegates/interpreter_utils.h, third_party/tensorflow/tensorflow/lite/delegates/telemetry.cc, third_party/tensorflow/tensorflow/lite/delegates/telemetry.h, third_party/tensorflow/tensorflow/lite/delegates/xnnpack/xnnpack_delegate.cc, third_party/tensorflow/tensorflow/lite/delegates/xnnpack/xnnpack_delegate.h, third_party/tensorflow/tensorflow/lite/interpreter.h, third_party/tensorflow/tensorflow/lite/interpreter_builder.h, third_party/tensorflow/tensorflow/lite/kernels/batch_matmul.cc, third_party/tensorflow/tensorflow/lite/kernels/broadcast_to.cc, third_party/tensorflow/tensorflow/lite/kernels/builtin_op_kernels.h, third_party/tensorflow/tensorflow/lite/kernels/call_once.cc, third_party/tensorflow/tensorflow/lite/kernels/complex_support.cc, third_party/tensorflow/tensorflow/lite/kernels/cumsum.cc, third_party/tensorflow/tensorflow/lite/kernels/deprecated_backends.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/cppmath.h, third_party/tensorflow/tensorflow/lite/kernels/internal/max.h, third_party/tensorflow/tensorflow/lite/kernels/internal/min.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/batch_matmul.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/cpu_check.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/sparse_ops/fully_connected.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/add_n.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/batch_matmul.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/batch_to_space_nd.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/broadcast_to.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/depth_to_space.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/div.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/exp.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/fill.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/floor_div.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/floor_mod.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/hard_swish.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/l2normalization.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/leaky_relu.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/requantize.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/resize_nearest_neighbor.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/space_to_batch_nd.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/space_to_depth.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/sparse_ops/fully_connected.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/sub.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/tanh.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/transpose.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/transpose_conv.h, third_party/tensorflow/tensorflow/lite/kernels/internal/utils/sparsity_format_converter.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/utils/sparsity_format_converter.h, third_party/tensorflow/tensorflow/lite/kernels/lstm.cc, third_party/tensorflow/tensorflow/lite/kernels/lstm_eval.cc, third_party/tensorflow/tensorflow/lite/kernels/lstm_eval.h, third_party/tensorflow/tensorflow/lite/kernels/multinomial.cc, third_party/tensorflow/tensorflow/lite/kernels/random_standard_normal_custom.cc, third_party/tensorflow/tensorflow/lite/kernels/register.h, third_party/tensorflow/tensorflow/lite/kernels/segment_sum.cc, third_party/tensorflow/tensorflow/lite/kernels/table.cc, third_party/tensorflow/tensorflow/lite/model.h, third_party/tensorflow/tensorflow/lite/model_builder.h, third_party/tensorflow/tensorflow/lite/profiling/platform_profiler.cc, third_party/tensorflow/tensorflow/lite/profiling/platform_profiler.h, third_party/tensorflow/tensorflow/lite/schema/schema_utils.h, third_party/tensorflow/tensorflow/lite/shared_library.h, third_party/tensorflow/tensorflow/lite/tflite_with_xnnpack_optional.cc, third_party/tensorflow/tensorflow/lite/tflite_with_xnnpack_optional.h

/* Copyright 2020 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: build_arm64/ruy/ruy/create_trmul_params.h

/* Copyright 2020 Google LLC. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required_capacity by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: build_arm64/ruy/ruy/denormal.h, build_arm64/ruy/ruy/trace.h

/* Copyright 2021 Google LLC. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: build_arm64/ruy/ruy/strategy_controls.h

/* Copyright 2022 Google LLC. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: third_party/fastfeat/fast.c, third_party/fastfeat/fast.h, third_party/fastfeat/fast_9.c, third_party/fastfeat/nonmax.c

// Copyright (c) 2006, 2008 Edward Rosten
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
//  *Redistributions of source code must retain the above copyright
//   notice, this list of conditions and the following disclaimer.
//
//  *Redistributions in binary form must reproduce the above copyright
//   notice, this list of conditions and the following disclaimer in the
//   documentation and/or other materials provided with the distribution.
//
//  *Neither the name of the University of Cambridge nor the names of
//   its contributors may be used to endorse or promote products derived
//   from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER
// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


==============================================================================

Sources: third_party/libwebm/common/hdr_util.cc, third_party/libwebm/common/hdr_util.h

// Copyright (c) 2016 The WebM project authors. All Rights Reserved.
//
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file in the root of the source
// tree. An additional intellectual property rights grant can be found
// in the file PATENTS.  All contributing project authors may
// be found in the AUTHORS file in the root of the source tree.


==============================================================================

Sources: third_party/libwebm/common/webmids.h, third_party/libwebm/mkvmuxer/mkvmuxer.cc, third_party/libwebm/mkvmuxer/mkvmuxer.h, third_party/libwebm/mkvmuxer/mkvmuxertypes.h, third_party/libwebm/mkvmuxer/mkvmuxerutil.cc, third_party/libwebm/mkvmuxer/mkvmuxerutil.h, third_party/libwebm/mkvmuxer/mkvwriter.cc, third_party/libwebm/mkvmuxer/mkvwriter.h, third_party/libwebm/mkvparser/mkvparser.cc, third_party/libwebm/mkvparser/mkvparser.h

// Copyright (c) 2012 The WebM project authors. All Rights Reserved.
//
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file in the root of the source
// tree. An additional intellectual property rights grant can be found
// in the file PATENTS.  All contributing project authors may
// be found in the AUTHORS file in the root of the source tree.


==============================================================================

Sources: third_party/libwebm/mkvparser/mkvreader.cc, third_party/libwebm/mkvparser/mkvreader.h

// Copyright (c) 2010 The WebM project authors. All Rights Reserved.
//
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file in the root of the source
// tree. An additional intellectual property rights grant can be found
// in the file PATENTS.  All contributing project authors may
// be found in the AUTHORS file in the root of the source tree.


==============================================================================

Sources: third_party/libyuv/include/libyuv/basic_types.h, third_party/libyuv/include/libyuv/convert.h, third_party/libyuv/include/libyuv/convert_argb.h, third_party/libyuv/include/libyuv/convert_from.h, third_party/libyuv/include/libyuv/cpu_id.h, third_party/libyuv/include/libyuv/planar_functions.h, third_party/libyuv/include/libyuv/rotate.h, third_party/libyuv/include/libyuv/row.h, third_party/libyuv/include/libyuv/scale.h, third_party/libyuv/include/libyuv/scale_row.h

/*
 * Copyright (c) 2021, Alliance for Open Media. All rights reserved
 *
 * This source code is subject to the terms of the BSD 3-Clause Clear License and the
 * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
 * not distributed with this source code in the LICENSE file, you can obtain it
 * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
 * License 1.0 was not distributed with this source code in the PATENTS file, you
 * can obtain it at aomedia.org/license/patent-license/.
 */


==============================================================================

Sources: third_party/libyuv/source/cpu_id.cc, third_party/libyuv/source/planar_functions.cc, third_party/libyuv/source/row_common.cc, third_party/libyuv/source/row_gcc.cc, third_party/libyuv/source/row_neon.cc, third_party/libyuv/source/row_win.cc, third_party/libyuv/source/scale.cc, third_party/libyuv/source/scale_neon.cc

/*
 *  Copyright 2011 The LibYuv Project Authors. All rights reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */


==============================================================================

Sources: third_party/libyuv/source/row_any.cc, third_party/libyuv/source/scale_mips.cc

/*
 *  Copyright 2012 The LibYuv Project Authors. All rights reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */


==============================================================================

Sources: third_party/libyuv/source/row_mips.cc

/*
 *  Copyright (c) 2012 The LibYuv project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */


==============================================================================

Sources: third_party/libyuv/source/row_neon64.cc, third_party/libyuv/source/scale_neon64.cc

/*
 *  Copyright 2014 The LibYuv Project Authors. All rights reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */


==============================================================================

Sources: third_party/libyuv/source/scale_any.cc

/*
 *  Copyright 2015 The LibYuv Project Authors. All rights reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */


==============================================================================

Sources: third_party/libyuv/source/scale_common.cc, third_party/libyuv/source/scale_gcc.cc, third_party/libyuv/source/scale_win.cc

/*
 *  Copyright 2013 The LibYuv Project Authors. All rights reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS. All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */


==============================================================================

Sources: third_party/tensorflow/tensorflow/compiler/mlir/lite/kernels/internal/compatibility_macros.h, third_party/tensorflow/tensorflow/compiler/mlir/lite/schema/schema_generated.h, third_party/tensorflow/tensorflow/lite/delegates/xnnpack/weight_cache.cc, third_party/tensorflow/tensorflow/lite/delegates/xnnpack/weight_cache.h, third_party/tensorflow/tensorflow/lite/delegates/xnnpack/weight_cache_schema_generated.h, third_party/tensorflow/tensorflow/lite/experimental/resource/cache_buffer.cc, third_party/tensorflow/tensorflow/lite/experimental/resource/cache_buffer.h, third_party/tensorflow/tensorflow/lite/kernels/control_flow_common.cc, third_party/tensorflow/tensorflow/lite/kernels/stablehlo_composite.cc, third_party/tensorflow/tensorflow/lite/mutable_op_resolver_utils.cc, third_party/tensorflow/tensorflow/lite/mutable_op_resolver_utils.h, third_party/tensorflow/tensorflow/lite/schema/schema_generated.h

/* Copyright 2024 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: third_party/tensorflow/tensorflow/core/public/version.h, third_party/tensorflow/third_party/xla/third_party/tsl/tsl/lib/random/philox_random.h

/* Copyright 2015 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: third_party/tensorflow/tensorflow/lite/acceleration/configuration/configuration_generated.h, third_party/tensorflow/tensorflow/lite/c/c_api_for_testing.cc, third_party/tensorflow/tensorflow/lite/c/c_api_for_testing.h, third_party/tensorflow/tensorflow/lite/core/acceleration/configuration/c/delegate_plugin.h, third_party/tensorflow/tensorflow/lite/core/acceleration/configuration/delegate_registry.cc, third_party/tensorflow/tensorflow/lite/core/api/flatbuffer_conversions.cc, third_party/tensorflow/tensorflow/lite/core/api/flatbuffer_conversions.h, third_party/tensorflow/tensorflow/lite/core/api/op_resolver_internal.h, third_party/tensorflow/tensorflow/lite/core/signature_runner.cc, third_party/tensorflow/tensorflow/lite/core/signature_runner.h, third_party/tensorflow/tensorflow/lite/core/tools/verifier_internal.cc, third_party/tensorflow/tensorflow/lite/core/tools/verifier_internal.h, third_party/tensorflow/tensorflow/lite/delegates/serialization.cc, third_party/tensorflow/tensorflow/lite/delegates/serialization.h, third_party/tensorflow/tensorflow/lite/delegates/xnnpack/quantization_util.cc, third_party/tensorflow/tensorflow/lite/delegates/xnnpack/quantization_util.h, third_party/tensorflow/tensorflow/lite/experimental/resource/initialization_status.cc, third_party/tensorflow/tensorflow/lite/experimental/resource/initialization_status.h, third_party/tensorflow/tensorflow/lite/internal/signature_def.h, third_party/tensorflow/tensorflow/lite/kernels/broadcast_args.cc, third_party/tensorflow/tensorflow/lite/kernels/bucketize.cc, third_party/tensorflow/tensorflow/lite/kernels/builtin_ops_list.inc, third_party/tensorflow/tensorflow/lite/kernels/conv3d.cc, third_party/tensorflow/tensorflow/lite/kernels/conv3d_transpose.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/constants.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/resize_bilinear.h, third_party/tensorflow/tensorflow/lite/kernels/internal/portable_tensor_utils.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/broadcast_args.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/conv3d.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/conv3d_transpose.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/elu.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/gather.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/gelu.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/log_softmax.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/reference_ops.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/resize_bilinear.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/slice.h, third_party/tensorflow/tensorflow/lite/kernels/internal/runtime_shape.h, third_party/tensorflow/tensorflow/lite/kernels/irfft2d.cc, third_party/tensorflow/tensorflow/lite/kernels/pooling3d.cc, third_party/tensorflow/tensorflow/lite/kernels/random_ops.cc, third_party/tensorflow/tensorflow/lite/kernels/random_uniform_custom.cc, third_party/tensorflow/tensorflow/lite/kernels/roll.cc, third_party/tensorflow/tensorflow/lite/kernels/var_handle.cc, third_party/tensorflow/tensorflow/lite/schema/conversion_metadata_generated.h, third_party/tensorflow/tensorflow/lite/signature_runner.h, third_party/tensorflow/tensorflow/lite/simple_memory_arena_debug_dump.cc, third_party/tensorflow/tensorflow/lite/simple_planner.cc, third_party/tensorflow/tensorflow/lite/simple_planner.h, third_party/tensorflow/tensorflow/lite/tools/optimize/reduced_precision_support.h, third_party/tensorflow/third_party/xla/third_party/tsl/tsl/lib/random/random_distributions_utils.h

/* Copyright 2021 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: third_party/tensorflow/tensorflow/lite/array.cc, third_party/tensorflow/tensorflow/lite/array.h, third_party/tensorflow/tensorflow/lite/core/async/c/async_kernel.cc, third_party/tensorflow/tensorflow/lite/core/async/c/async_kernel.h, third_party/tensorflow/tensorflow/lite/core/async/c/async_signature_runner.cc, third_party/tensorflow/tensorflow/lite/core/async/c/async_signature_runner.h, third_party/tensorflow/tensorflow/lite/core/async/c/internal.h, third_party/tensorflow/tensorflow/lite/core/c/operator.cc, third_party/tensorflow/tensorflow/lite/core/c/operator.h, third_party/tensorflow/tensorflow/lite/core/kernels/register.cc, third_party/tensorflow/tensorflow/lite/kernels/bitcast.cc, third_party/tensorflow/tensorflow/lite/kernels/bitwise_xor.cc, third_party/tensorflow/tensorflow/lite/kernels/control_flow_common.h, third_party/tensorflow/tensorflow/lite/kernels/dilate.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/common.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/opaque_tensor_ctypes.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/opaque_tensor_ctypes.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/4bit/fully_connected_common.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/4bit/fully_connected_reference.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/4bit/fully_connected_reference.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/4bit/fully_connected_reference_impl.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/fully_connected_4bit.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/comparisons.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/mul.h, third_party/tensorflow/tensorflow/lite/kernels/internal/runtime_shape.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/tensor_ctypes.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/types.h, third_party/tensorflow/tensorflow/lite/kernels/mul.cc, third_party/tensorflow/tensorflow/lite/kernels/register_ref.cc, third_party/tensorflow/tensorflow/lite/kernels/right_shift.cc, third_party/tensorflow/tensorflow/lite/kernels/rng_bit_generator.cc, third_party/tensorflow/tensorflow/lite/kernels/rng_util.cc, third_party/tensorflow/tensorflow/lite/kernels/rng_util.h, third_party/tensorflow/tensorflow/lite/kernels/stablehlo_add.cc, third_party/tensorflow/tensorflow/lite/kernels/stablehlo_elementwise.cc, third_party/tensorflow/tensorflow/lite/kernels/stablehlo_elementwise.h, third_party/tensorflow/tensorflow/lite/kernels/stablehlo_gather.cc, third_party/tensorflow/tensorflow/lite/kernels/stablehlo_min_max.cc, third_party/tensorflow/tensorflow/lite/kernels/stablehlo_multiply.cc, third_party/tensorflow/tensorflow/lite/kernels/stablehlo_scatter.cc, third_party/tensorflow/tensorflow/lite/kernels/tensor_slice_util.cc, third_party/tensorflow/tensorflow/lite/kernels/tensor_slice_util.h, third_party/tensorflow/tensorflow/lite/namespace.h

/* Copyright 2023 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: third_party/tensorflow/tensorflow/lite/builtin_ops.h, third_party/tensorflow/tensorflow/lite/c/c_api_internal.h, third_party/tensorflow/tensorflow/lite/core/api/op_resolver.cc, third_party/tensorflow/tensorflow/lite/core/api/op_resolver.h, third_party/tensorflow/tensorflow/lite/core/c/c_api.cc, third_party/tensorflow/tensorflow/lite/core/c/c_api.h, third_party/tensorflow/tensorflow/lite/core/c/c_api_experimental.cc, third_party/tensorflow/tensorflow/lite/core/c/c_api_experimental.h, third_party/tensorflow/tensorflow/lite/core/subgraph.h, third_party/tensorflow/tensorflow/lite/graph_info.cc, third_party/tensorflow/tensorflow/lite/kernels/arg_min_max.cc, third_party/tensorflow/tensorflow/lite/kernels/audio_spectrogram.cc, third_party/tensorflow/tensorflow/lite/kernels/ceil.cc, third_party/tensorflow/tensorflow/lite/kernels/comparisons.cc, third_party/tensorflow/tensorflow/lite/kernels/dequantize.cc, third_party/tensorflow/tensorflow/lite/kernels/detection_postprocess.cc, third_party/tensorflow/tensorflow/lite/kernels/eigen_support.cc, third_party/tensorflow/tensorflow/lite/kernels/eigen_support.h, third_party/tensorflow/tensorflow/lite/kernels/elementwise.cc, third_party/tensorflow/tensorflow/lite/kernels/exp.cc, third_party/tensorflow/tensorflow/lite/kernels/fake_quant.cc, third_party/tensorflow/tensorflow/lite/kernels/fill.cc, third_party/tensorflow/tensorflow/lite/kernels/floor.cc, third_party/tensorflow/tensorflow/lite/kernels/floor_div.cc, third_party/tensorflow/tensorflow/lite/kernels/floor_mod.cc, third_party/tensorflow/tensorflow/lite/kernels/if.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/kernel_utils.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/kernel_utils.h, third_party/tensorflow/tensorflow/lite/kernels/internal/mfcc.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/mfcc.h, third_party/tensorflow/tensorflow/lite/kernels/internal/mfcc_dct.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/mfcc_dct.h, third_party/tensorflow/tensorflow/lite/kernels/internal/mfcc_mel_filterbank.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/mfcc_mel_filterbank.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/ceil.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/dequantize.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/pooling.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/round.h, third_party/tensorflow/tensorflow/lite/kernels/internal/spectrogram.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/spectrogram.h, third_party/tensorflow/tensorflow/lite/kernels/internal/strided_slice_logic.h, third_party/tensorflow/tensorflow/lite/kernels/logical.cc, third_party/tensorflow/tensorflow/lite/kernels/maximum_minimum.cc, third_party/tensorflow/tensorflow/lite/kernels/mfcc.cc, third_party/tensorflow/tensorflow/lite/kernels/mirror_pad.cc, third_party/tensorflow/tensorflow/lite/kernels/neg.cc, third_party/tensorflow/tensorflow/lite/kernels/pack.cc, third_party/tensorflow/tensorflow/lite/kernels/pow.cc, third_party/tensorflow/tensorflow/lite/kernels/range.cc, third_party/tensorflow/tensorflow/lite/kernels/register_ref.h, third_party/tensorflow/tensorflow/lite/kernels/reverse.cc, third_party/tensorflow/tensorflow/lite/kernels/reverse_sequence.cc, third_party/tensorflow/tensorflow/lite/kernels/round.cc, third_party/tensorflow/tensorflow/lite/kernels/select.cc, third_party/tensorflow/tensorflow/lite/kernels/slice.cc, third_party/tensorflow/tensorflow/lite/kernels/sparse_to_dense.cc, third_party/tensorflow/tensorflow/lite/kernels/split.cc, third_party/tensorflow/tensorflow/lite/kernels/split_v.cc, third_party/tensorflow/tensorflow/lite/kernels/squared_difference.cc, third_party/tensorflow/tensorflow/lite/kernels/squeeze.cc, third_party/tensorflow/tensorflow/lite/kernels/strided_slice.cc, third_party/tensorflow/tensorflow/lite/kernels/transpose_conv.cc, third_party/tensorflow/tensorflow/lite/kernels/unique.cc, third_party/tensorflow/tensorflow/lite/kernels/unpack.cc, third_party/tensorflow/tensorflow/lite/mmap_allocation.cc, third_party/tensorflow/tensorflow/lite/mutable_op_resolver.cc, third_party/tensorflow/tensorflow/lite/mutable_op_resolver.h, third_party/tensorflow/tensorflow/lite/op_resolver.h

/* Copyright 2018 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: third_party/tensorflow/tensorflow/lite/c/c_api_opaque_internal.cc, third_party/tensorflow/tensorflow/lite/c/c_api_opaque_internal.h, third_party/tensorflow/tensorflow/lite/c/c_api_types.h, third_party/tensorflow/tensorflow/lite/c/common_internal.cc, third_party/tensorflow/tensorflow/lite/c/common_internal.h, third_party/tensorflow/tensorflow/lite/core/acceleration/configuration/c/stable_delegate.h, third_party/tensorflow/tensorflow/lite/core/acceleration/configuration/stable_delegate_registry.cc, third_party/tensorflow/tensorflow/lite/core/acceleration/configuration/stable_delegate_registry.h, third_party/tensorflow/tensorflow/lite/core/async/async_kernel_internal.h, third_party/tensorflow/tensorflow/lite/core/async/async_signature_runner.cc, third_party/tensorflow/tensorflow/lite/core/async/async_signature_runner.h, third_party/tensorflow/tensorflow/lite/core/async/async_subgraph.cc, third_party/tensorflow/tensorflow/lite/core/async/async_subgraph.h, third_party/tensorflow/tensorflow/lite/core/async/c/task.cc, third_party/tensorflow/tensorflow/lite/core/async/c/task.h, third_party/tensorflow/tensorflow/lite/core/async/c/types.h, third_party/tensorflow/tensorflow/lite/core/async/interop/attribute_map_internal.cc, third_party/tensorflow/tensorflow/lite/core/async/interop/attribute_map_internal.h, third_party/tensorflow/tensorflow/lite/core/async/interop/c/attribute_map.cc, third_party/tensorflow/tensorflow/lite/core/async/interop/c/attribute_map.h, third_party/tensorflow/tensorflow/lite/core/async/interop/c/constants.cc, third_party/tensorflow/tensorflow/lite/core/async/interop/c/constants.h, third_party/tensorflow/tensorflow/lite/core/async/interop/c/types.cc, third_party/tensorflow/tensorflow/lite/core/async/interop/c/types.h, third_party/tensorflow/tensorflow/lite/core/async/interop/reconcile_fns.cc, third_party/tensorflow/tensorflow/lite/core/async/interop/reconcile_fns.h, third_party/tensorflow/tensorflow/lite/core/async/interop/variant.cc, third_party/tensorflow/tensorflow/lite/core/async/interop/variant.h, third_party/tensorflow/tensorflow/lite/core/async/task_internal.cc, third_party/tensorflow/tensorflow/lite/core/async/task_internal.h, third_party/tensorflow/tensorflow/lite/core/c/c_api_opaque.cc, third_party/tensorflow/tensorflow/lite/core/c/c_api_opaque.h, third_party/tensorflow/tensorflow/lite/delegates/external/external_delegate_interface.h, third_party/tensorflow/tensorflow/lite/experimental/remat/metadata_util.cc, third_party/tensorflow/tensorflow/lite/experimental/remat/metadata_util.h, third_party/tensorflow/tensorflow/lite/interpreter_options.h, third_party/tensorflow/tensorflow/lite/kernels/dynamic_update_slice.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/avx2_quantization_utils.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/leaky_relu.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/lut.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/sub.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops_utils.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/reduce.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/reduce_utils.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reduce_common.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/lut.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/lstm_cell.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/select.h, third_party/tensorflow/tensorflow/lite/kernels/unsorted_segment.cc, third_party/tensorflow/tensorflow/lite/logger.cc, third_party/tensorflow/tensorflow/lite/logger.h, third_party/tensorflow/tensorflow/lite/profiling/root_profiler.cc, third_party/tensorflow/tensorflow/lite/profiling/root_profiler.h, third_party/tensorflow/tensorflow/lite/profiling/telemetry/c/profiler.h, third_party/tensorflow/tensorflow/lite/profiling/telemetry/c/telemetry_setting.h, third_party/tensorflow/tensorflow/lite/profiling/telemetry/c/telemetry_setting_internal.cc, third_party/tensorflow/tensorflow/lite/profiling/telemetry/c/telemetry_setting_internal.h, third_party/tensorflow/tensorflow/lite/profiling/telemetry/profiler.cc, third_party/tensorflow/tensorflow/lite/profiling/telemetry/profiler.h, third_party/tensorflow/tensorflow/lite/profiling/telemetry/telemetry.cc, third_party/tensorflow/tensorflow/lite/profiling/telemetry/telemetry.h, third_party/tensorflow/tensorflow/lite/profiling/telemetry/telemetry_status.h, third_party/tensorflow/tensorflow/lite/tensorflow_profiler_logger.h, third_party/tensorflow/tensorflow/lite/tensorflow_profiler_logger_shim.cc

/* Copyright 2022 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: third_party/tensorflow/tensorflow/lite/c/common.h, third_party/tensorflow/tensorflow/lite/core/api/tensor_utils.cc, third_party/tensorflow/tensorflow/lite/core/api/tensor_utils.h, third_party/tensorflow/tensorflow/lite/core/c/common.cc, third_party/tensorflow/tensorflow/lite/core/c/common.h, third_party/tensorflow/tensorflow/lite/core/kernels/builtin_op_kernels.h, third_party/tensorflow/tensorflow/lite/delegates/nnapi/nnapi_delegate_disabled.cc, third_party/tensorflow/tensorflow/lite/delegates/utils.cc, third_party/tensorflow/tensorflow/lite/delegates/utils.h, third_party/tensorflow/tensorflow/lite/experimental/resource/lookup_interfaces.h, third_party/tensorflow/tensorflow/lite/experimental/resource/lookup_util.h, third_party/tensorflow/tensorflow/lite/experimental/resource/resource_base.h, third_party/tensorflow/tensorflow/lite/experimental/resource/resource_variable.cc, third_party/tensorflow/tensorflow/lite/experimental/resource/resource_variable.h, third_party/tensorflow/tensorflow/lite/experimental/resource/static_hashtable.cc, third_party/tensorflow/tensorflow/lite/experimental/resource/static_hashtable.h, third_party/tensorflow/tensorflow/lite/external_cpu_backend_context.cc, third_party/tensorflow/tensorflow/lite/external_cpu_backend_context.h, third_party/tensorflow/tensorflow/lite/kernels/add_n.cc, third_party/tensorflow/tensorflow/lite/kernels/assign_variable.cc, third_party/tensorflow/tensorflow/lite/kernels/cpu_backend_context.cc, third_party/tensorflow/tensorflow/lite/kernels/cpu_backend_context.h, third_party/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h, third_party/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h, third_party/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_eigen.cc, third_party/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_params.h, third_party/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_ruy.h, third_party/tensorflow/tensorflow/lite/kernels/cpu_backend_threadpool.h, third_party/tensorflow/tensorflow/lite/kernels/custom_ops_register.h, third_party/tensorflow/tensorflow/lite/kernels/densify.cc, third_party/tensorflow/tensorflow/lite/kernels/dequantize.h, third_party/tensorflow/tensorflow/lite/kernels/gather_nd.cc, third_party/tensorflow/tensorflow/lite/kernels/gru_cell.cc, third_party/tensorflow/tensorflow/lite/kernels/gru_cell.h, third_party/tensorflow/tensorflow/lite/kernels/hashtable.cc, third_party/tensorflow/tensorflow/lite/kernels/hashtable_find.cc, third_party/tensorflow/tensorflow/lite/kernels/hashtable_import.cc, third_party/tensorflow/tensorflow/lite/kernels/hashtable_size.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/depthwiseconv_multithread.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/depthwiseconv_uint8_3x3_filter.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/im2col_utils.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/add.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/conv.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/depthwise_conv.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/depthwise_conv_3x3_filter.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/depthwise_conv_hybrid.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/depthwise_conv_hybrid_3x3_filter.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/fully_connected.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/mean.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/mul.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/pooling.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/transpose_conv.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/neon_check.h, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/sse_tensor_utils.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/optimized/sse_tensor_utils_impl.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/add.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/arg_min_max.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/binary_function.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/cast.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/comparisons.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/concatenation.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/conv.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/densify.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/dequantize.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/floor.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/add.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/conv.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/depthwise_conv.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/fully_connected.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/l2normalization.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/log_softmax.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/logistic.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/mul.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/tanh.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/integer_ops/transpose_conv.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/logistic.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/neg.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/non_max_suppression.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/pad.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/pooling.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/portable_tensor_utils.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/portable_tensor_utils_impl.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/prelu.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/process_broadcast_shapes.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/quantize.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/reduce.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/string_comparisons.h, third_party/tensorflow/tensorflow/lite/kernels/internal/reference/svdf.h, third_party/tensorflow/tensorflow/lite/kernels/internal/transpose_utils.cc, third_party/tensorflow/tensorflow/lite/kernels/internal/transpose_utils.h, third_party/tensorflow/tensorflow/lite/kernels/lstm_shared.h, third_party/tensorflow/tensorflow/lite/kernels/matrix_diag.cc, third_party/tensorflow/tensorflow/lite/kernels/matrix_set_diag.cc, third_party/tensorflow/tensorflow/lite/kernels/non_max_suppression.cc, third_party/tensorflow/tensorflow/lite/kernels/numeric_verify.cc, third_party/tensorflow/tensorflow/lite/kernels/quantize.cc, third_party/tensorflow/tensorflow/lite/kernels/read_variable.cc, third_party/tensorflow/tensorflow/lite/kernels/rfft2d.cc, third_party/tensorflow/tensorflow/lite/kernels/scatter_nd.cc, third_party/tensorflow/tensorflow/lite/kernels/unidirectional_sequence_gru.cc, third_party/tensorflow/tensorflow/lite/kernels/where.cc, third_party/tensorflow/tensorflow/lite/kernels/while.cc, third_party/tensorflow/tensorflow/lite/minimal_logging.cc, third_party/tensorflow/tensorflow/lite/minimal_logging.h, third_party/tensorflow/tensorflow/lite/minimal_logging_default.cc, third_party/tensorflow/tensorflow/lite/nnapi/nnapi_implementation_disabled.cc, third_party/tensorflow/tensorflow/lite/portable_type_to_tflitetype.h, third_party/tensorflow/tensorflow/lite/type_to_tflitetype.h, third_party/tensorflow/third_party/xla/third_party/tsl/tsl/framework/convolution/eigen_convolution_helpers.h, third_party/tensorflow/third_party/xla/third_party/tsl/tsl/framework/convolution/eigen_spatial_convolutions-inl.h

/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: third_party/tensorflow/tensorflow/lite/kernels/atan2.cc, third_party/tensorflow/tensorflow/lite/kernels/atan2_custom.cc, third_party/tensorflow/tensorflow/lite/kernels/sign.cc, third_party/tensorflow/tensorflow/lite/kernels/sign_custom.cc

// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


==============================================================================

Sources: third_party/tensorflow/tensorflow/lite/kernels/stablehlo_pad.cc, third_party/tensorflow/tensorflow/lite/kernels/stablehlo_reduce_window.cc

/* Copyright 2023 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0
         //
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/


==============================================================================

Sources: third_party/vector/vector.c, third_party/vector/vector.h

/*
The MIT License(MIT)
Copyright(c) 2016 Peter Goldsborough

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files(the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions :

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

